共查询到20条相似文献,搜索用时 0 毫秒
1.
Janus is a symbolic language used to embody the information which is normally passed from the analysis phase of a compiler to the code generators. It is designed for transporting software: A program coded in a high level language can be translated to Janus on one computer, and the resulting output translated to assembly code on another. (The STAGE2 macro processor could be used for the second translation.) In this paper we present the principles upon which Janus is based, and show that it is suited to a wide range of source languages and target computers. 相似文献
2.
Microprogramming commonly executed operations can improve the computational speed of data processing systems. This paper describes how microprogramming may be used to execute directly the intermediate text generated by a high-level language compiler after syntactic and semantic analysis of the input source program.Direct microprogrammed execution of common forms of intermediate text—i.e. quadruples, triples, and duos—has been simulated. A comparison is made, in terms of storage requirements and execution time, of this direct microprogrammed system with the present methods which result in machine language representation and execution of the intermediate text. Direct generation of a microprogram from the high-level language statements is also examined.Timing assumptions for comparative purposes have been based on the IBM 360 MOD 50 system. Simulation and timing estimates for the microprograms have been carried out on a microprogram directed simulator which closely represents the architectural organization of the MOD 50. 相似文献
3.
The possibility of supporting high level languages through intermediate languages to be used for direct interpretation and as intermediate forms in compilers is investigated. An accomplished project in the construction of an interpreter and a code generator using one common intermediate form is evaluated. The subject is analysed in general, and a proposal for an improved design scheme is given. 相似文献
4.
This paper discusses a method for developing efficient and portable software for 8-bit microprocessors used in real-time applications. The technique used is to design an ‘intermediate level language’ (ILL) which defines low-level primitives to support the real-time application programming and the constructs of high level languages. Thus, the high level language (HLL) program goes through two stages of translation; first to the ILL code and then to the machine code of a microprocessor. The ILL instruction set developed bridges the gap between high level languages and the poor instruction set of microprocessors. This allows the development of optimized and portable code for the microprocessors. The ILL operations, data types, data organization, control structures, synchronization, communication and multi-tasking facilities are described. The effectiveness of this technique is shown by comparing the code generated by the ILL approach with the code available for a sample real-time application written directly in assembly level language. 相似文献
5.
Ralph E. Griswold 《Software》1975,5(1):93-104
In programming systems based on abstract machine modelling concepts, the underlying structure of the abstract machine can be made available to the software implemented on it. The result is an unusual facility for diagnosis and exploration of software structure. Such a facility has been added to the macro implemention of SNOBOL4. This paper describes the nature of the facility, illustrates its use, and presents some results of using it for language implementation and development. 相似文献
6.
Ralph E. Griswold 《Software》1980,10(1):1-9
The traditional use of abstract machine models is to provide a conceptual framework for software design and to aid portability and machine independence. Access to the abstract machine model from the higher-level system on which it is based provides a powerful tool for software development. This paper describes a technique in which the higher-level system is interfaced to the underlying abstract machine, thus allowing use of the higher-level system to analyse and debug its own implementation. The application of this technique in the implementation of SL5 is given as an example. Experience with the use of the facility and a discussion of basic design considerations are included. 相似文献
7.
Based on several experiments in transferring a large CAD system, an automated method of software transfer is defined. This method uses two general tools to describe the language translation programmes. 相似文献
8.
An instruction set is given for an abstract machine which uses a pushdown stack as its principal memory. The proposed instructions serve the similar purposes of (1) defining the dynamic semantics of programming languages by describing the operations of programs on the abstract machine and (2) describing an intermediate language to be used in compiling programming languages into machine language. It is shown how the intermediate language can be used in the translation of the programming languages ADA, FORTRAN and PASCAL into IBM 360 assembly language and advantages over other intermediate languages such as three-address code and P-code. 相似文献
9.
R. E. Berry 《Software》1978,8(5):617-627
The paper seeks to document the experience of a small group interested in implementing and using Pascal on a modest but perhaps typical minicomputer. The implementation was achieved by transporting the intermediate code produced by a CDC 7600 version of the Pascal P-compiler to the minicomputer and producing an assembler and interpreter to execute this code on the mini. Some aspects of the performance of the resulting system are reported. 相似文献
10.
The process of transporting Brinch Hansen's implementation of Concurrent PASCAL to another minicomputer is described. Applicable porting strategies are discussed with emphasis on the design decisions made for a specific transportation. Important design decisions include the use of a virtual code interpreter and implementation in an operating system environment. The problems of this transportation are illustrated with accompanying suggestions for a more portable system. 相似文献
11.
C. K. Yip 《Software》1982,12(5):411-431
CORAL66 programming environment has been implemented on a host environment of a Nova real time disk operating system. It consists of a CORAL66 C-compiler, a program for compilation error code summary, a c-code assembler, an interpreter as well as utilities from the host environment. In this paper, details of the implementation are discussed and we argue that such an implementation on mini-computer systems can be used as an important and flexible tool for teaching and research purposes in software engineering. 相似文献
12.
The design and implementation of a system development language which is economical to implement is described. Both macro processing and compiling techniques are used to translate it. The advantages and disadvantages of using such a language are discussed together with the main problems met in its implementation. 相似文献
13.
Milind Girkar Constantine D. Polychronopoulos 《International journal of parallel programming》1994,22(5):519-551
This paper presents an intermediate program representation called the Hierarchical Task Graph (HTG), and argues that it is
not only suitable as the basis for program optimization and code generation, but it fully encapsulates program parallelism
at all levels of granularity. As such, the HTG can be used as the basis for a variety of restructuring and optimization techniques,
and hence as the target for front-end compilers as well as the input to source and code generators. Our implementation and
testing of the HTG in the Parafrase-2 compiler has demonstrated its suitability and versatility as a potentially universal
intermediate representation. In addition to encapsulating semantic information, data and control dependences, the HTG provides
more information vital to efficient code generation and optimizations related to parallel code generation. In particular,
we introduce the notion of precedence between nodes of the structure whose grain size can range from atomic operations to
entire subprograms.
This work was supported in part by the National Science Foundation under Grant No. NSF-CCR-89-57310, the U. S. Department
of Energy under Grant No. DOE-DE-FG02-85ER25001, and a grant from Texas Instruments Inc. 相似文献
14.
Shaoying Liu 《Computer Languages, Systems and Structures》1993,18(4):273-282
The realization of an abstract programming language is a good approach for automating the software production process and facilitating the correctness proof of a software system.
This paper introduces a formal language for programming at the abstract level by combining Pascal with VDM (Vienna Development Method). The notation provided by the language obliges programmers to consider the correctness of programs throughout the whole process of programming, and the proof axiom and rules presented in this paper may be used to prove the correctness of programs. A complete example is given to illustrate how to program using APL and how to prove the correctness of programs using the given axiom and rules. 相似文献
15.
M. S. Powell 《Software》1979,9(7):561-569
This paper describes some of the problems incurred when transporting the SOLO operating system from a PDP 11/45 to a smaller Modular One. Some comments are made about the intrinsic portability of operating systems written in high level languages and their flexibility in use. 相似文献
16.
Portability of MUSS compilers is achieved by using an abstract machine model concept. Two different abstract models, both suited for multi-language multi-machine usage, have been developed and evaluated. These models differ mainly in the level of interface to the compiler. The form of these models and the performance of two compilers, each using both models, are presented. 相似文献
17.
支持向量机在语种识别技术中获得了广泛的研究和应用,并且达到和传统混合高斯模型相当的性能。高斯超向量-支持向量机系统将高斯混合模型与支持向量机有效地结合起来,采用高斯超向量核函数,以支持向量机作为后端分类器。重点介绍基于高斯超向量-支持向量机的语种识别系统,并和传统的高斯混合模型系统进行比较。在美国国家标准技术研究院2003年和2007年语种识别评测数据集上进行实验。实验结果表明,高斯超向量-支持向量机系统相对于混合高斯模型建模的方法,在长时数据上有较明显的性能优势。 相似文献
18.
Douglas W. Jones 《Software》1983,13(8):715-725
The set of meanings that may be encoded in most object languages is a subset of the meanings that may be encoded in most assembly languages. Careful exploitation of this fact in the design of the SMAL assembly and object language allows the SMAL assembler itself to be used as a linkage editor, thus eliminating the need for an expensive and often misunderstood system program. The SMAL assembler is no more complex than many assemblers in common use today, nor are the relevant aspects of the SMAL language particularly unique. 相似文献
19.
Jacob Palme 《Software》1976,6(3):405-409
SIMULA is a high-level language comparable in power to PL/I or ALGOL 68. SIMULA compilers exist for eight different computer series. SIMULA is standardized by a committee mainly consisting of one representative for each implementation. This has given good compatibility between the implementations and the efficient handling of standards problems. The fact that the SIMULA language is defined in such a way that there are no undefined constructs in the language has also helped compatibility and standardization. 相似文献
20.
论文详细介绍了在ECMAScript解释器中,中间代码生成部分的设计和实现方法。同时也简要介绍了解释器的整体结构。 相似文献