62,536 research outputs found
Trends in compiler construction
Compiler writing techniques have undergone a number of major revisions over the past
forty years. The introduction of object-oriented design and implementation techniques promises to improve the quality of compilers, while malting large-scale compiler development more manageable.
In this paper, we will show that a new way of thinking of a compiler's structure is required to achieve complete object-orientation. This new view on compiling can lead to alternative formulations of parsing and code generation. In practice, the object-oriented formulations have not only proven to be highly efficient, but they have also been particularly easy to teach to students
A comment on the construction of the maximal globally hyperbolic Cauchy development
Under mild assumptions, we remove all traces of the axiom of choice from the
construction of the maximal globally hyperbolic Cauchy development in general
relativity. The construction relies on the notion of direct union manifolds,
which we review. The construction given is very general: any physical theory
with a suitable geometric representation (in particular all classical fields),
and such that a strong notion of "local existence and uniqueness" of solutions
for the corresponding initial value problem is available, is amenable to the
same treatment.Comment: Version 2: 9 (+epsilon; depending on compiler) pages; updated
references. Version 3: switched to revtex, 6 pages, version accepted for
publicatio
A translator writing system for microcomputer high-level languages and assemblers
In order to implement high level languages whenever possible, a translator writing system of advanced design was developed. It is intended for routine production use by many programmers working on different projects. As well as a fairly conventional parser generator, it includes a system for the rapid generation of table driven code generators. The parser generator was developed from a prototype version. The translator writing system includes various tools for the management of the source text of a compiler under construction. In addition, it supplies various default source code sections so that its output is always compilable and executable. The system thereby encourages iterative enhancement as a development methodology by ensuring an executable program from the earliest stages of a compiler development project. The translator writing system includes PASCAL/48 compiler, three assemblers, and two compilers for a subset of HAL/S
Prototype construction of a compiler for network analysis feasibility study
Feasibility of unified compilers for network analysi
The Mystro system: A comprehensive translator toolkit
Mystro is a system that facilities the construction of compilers, assemblers, code generators, query interpretors, and similar programs. It provides features to encourage the use of iterative enhancement. Mystro was developed in response to the needs of NASA Langley Research Center (LaRC) and enjoys a number of advantages over similar systems. There are other programs available that can be used in building translators. These typically build parser tables, usually supply the source of a parser and parts of a lexical analyzer, but provide little or no aid for code generation. In general, only the front end of the compiler is addressed. Mystro, on the other hand, emphasizes tools for both ends of a compiler
Graph layout for applications in compiler construction
We address graph visualization from the viewpoint of compiler construction. Most data structures in compilers are large, dense graphs such as annotated control flow graph, syntax trees, dependency graphs. Our main focus is the animation and interactive exploration of these graphs. Fast layout heuristics and powerful browsing methods are needed. We give a survey of layout heuristics for general directed and undirected graphs and present the browsing facilities that help to manage large structured graph
Performance analysis and optimization of the JOREK code for many-core CPUs
This report investigates the performance of the JOREK code on the Intel
Knights Landing and Skylake processor architectures. The OpenMP scaling of the
matrix construction part of the code was analyzed and improved synchronization
methods were implemented. A new switch was implemented to control the number of
threads used for the linear equation solver independently from other parts of
the code. The matrix construction subroutine was vectorized, and the data
locality was also improved. These steps led to a factor of two speedup for the
matrix construction
- …