1,971 papers · page 97 of 99
Sophia Drossopoulou, James S. Uhl, Guido Persch, Gerhard Goos, Manfred Dausmann, Georg Winterstein
We describe the development of a formal specification of the static semantics of Ada in form of an attribute grammar. This specification is complete, and was tested extensively with automatically generated equivalent Pascal programs. From this specification we systematically deve…
Rodney Farrow
LINGUIST-86 is a commercially-developed translator-writing-system based on attribute grammars [K]. From an input attribute grammar it generates a set of high-level language source modules that form an alternating-pass attribute evaluator [JW]. LINGUIST-86 generates attribute eval…
Harald Ganzinger, Robert Giegerich, Ulrich Möncke, Reinhard Wilhelm
This paper describes semantic processing in the compiler generating system MUG2. MUG2 accepts high-level descriptions of the semantics of a programming language including full runtime semantics, data flow analysis, and optimizing transformations. This distinguishes MUG2 from syst…
Susan L. Graham, Robert R. Henry, Robert A. Schulman
We have constructed a local code generator for the VAX-112 using a parser-like instruction pattern matcher. The code generator replaces the second pass of the UNIX3 Portable “Crdquo; compiler. This paper describes the design of the code generator and the special considerations im…
Susan L. Graham, Peter B. Kessler, Marshall K. McKusick
Large complex programs are composed of many small routines that implement abstractions for the routines that call them. To be useful, an execution profiler must attribute execution time in a way that is significant for the logical structure of a program as well as for its textual…
Martin L. Griss, Eric Benson, Anthony C. Hearn
This report describes the current status of a Portable LISP Compiler used with great success to compile Standard LISP on a variety of machines. It has also been used to provide a portable implementation base for a new LISP (PSL) on the DECSystem 20 and VAX.
C. W. Johnson, Colin Runciman
In compiler technology, semantic error handling has too often used ad hoc techniques and terse messages of fixed content. In contrast, we present general models of diagnosis and repair of semantic errors and illustrate their use in the York Ada Workbench Compiler. The diagnostic …
I. M. Kipps
The problems of compiler construction have largely been solved for COBOL '74, but a remaining fundamental consideration in a commercial environment is the cost of compiler development. This can be reduced by the use of portable software, but the cost of porting to a new system re…
Kai Koskimies, Kari-Jouko Räihä, Matti Sarjakoski
The adequacy of attribute grammars as a compiler writing tool is studied on the basis of the experiences on attribute grammars for Pascal and a subset of Euclid. A qualitative assessment of the grammars shows that the compiler oriented view in the design of an attribute grammar t…
David W. Krumme, David H. Ackley
An original method for code generation has been developed in conjunction with the construction of a compiler for the C programming language on the DEC-10 computer. The method is comprehensive, determining evaluation order and doing register allocation and instruction selection si…
Wilf R. LaLonde, Jim des Rivières
Traditionally, compilers have been internally organized into separate phases that are invoked in a fixed, predetermined order. However, the optimal phase invocation order is usually different for different contexts, such as (1) large batch-oriented production environments, (2) sm…
Rudolf Landwehr, Hans-Stephan Jansohn, Gerhard Goos
We implemented an automatic code generator generator based on the approach of Glanville and Graham. We describe our experience with this system and compare the generated code with that of a conventional Pascal compiler.
Nazim H. Madhavji, I. R. Wilson
This paper presents an investigation of the design decisions taken in the implementation of a compiler for Pascal on the CRAY-1 computer. The structured nature of Pascal statements and data structures is contrasted with the 'powerful computing engine' nature of the CRAY-1 hardwar…
Victoria Markstein, John Cocke, Peter W. Markstein
An analysis is given for optimizing run-time range checks in regions of high execution frequency. These optimizations are accomplished using strength reduction, code motion and common subexpression elimination. Test programs, using the above optimizations, are used to illustrate …
Howard Z. Marshall
The Linear Graph package is a collection of software tools that provides a software development environment particularly well suited to compiler construction. More precisely, the Linear Graph (or “LG”) package is a generic specification of these tools. No specific implementation …
Jon Mauney, Charles N. Fischer
A wide variety of algorithms have been suggested for the repair of syntactic errors in a computer program. Since there is usually more than one possible repair for any syntax error, many algorithms employ a cost function to guide the the repair, and some [1,3,4,6], guarantee that…
Ian W. Moor
A compiler for the applicative language HOPE is described. The compiler is itself written in HOPE and generates a machine independent compiler target language, suitable for execution on the parallel reduction machine ALICE. The advantages of writing a compiler in a very high leve…
Thomas M. Morgan, Lawrence A. Rowe
Exotic instructions are complex instructions, such as block move, string search, and string edit, which are found on most conventional computers. Recent retargetable code generator and instruction set analysis systems have not dealt with exotic instructions. A method to analyze e…
Terrence W. Pratt, George D. Maydwell
HAL/S is a large general purpose real-time programming language somewhat similar to ADA. Its major applications are for embedded real-time systems, in particular for the Space Shuttle on-board computer software and similar applications within NASA. After the language had been in …
Martin R. Raskovsky
We describe the automatic generation - from the formal denotational semantic specification - of an efficient compiler's code generation phase, producing efficient code for real machines. The method has been succesfully implemented and tested with languages as complex as GEDANKEN!