Programming languages: design and implementation (2nd ed.)
Programming languages: design and implementation (2nd ed.)
A Sampler of Formal Definitions
ACM Computing Surveys (CSUR)
Implications of structured programming for machine architecture
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
Advances in Computer Architecture
Advances in Computer Architecture
The theory of parsing, translation, and compiling
The theory of parsing, translation, and compiling
The Theory of Parsing, Translation, and Compiling
The Theory of Parsing, Translation, and Compiling
Levels of representation of programs and the architecture of universal host machines
MICRO 11 Proceedings of the 11th annual workshop on Microprogramming
Definitional interpreters for higher-order programming languages
ACM '72 Proceedings of the ACM annual conference - Volume 2
The structure of directly executed languages: a new theory of interpretive system design
The structure of directly executed languages: a new theory of interpretive system design
A theory of interpretive architectures: some notes on DEL design and a Fortran case study
A theory of interpretive architectures: some notes on DEL design and a Fortran case study
Empirical estimates of program entropy.
Empirical estimates of program entropy.
Interpreting machines: Architecture and programming of the B1700/B1800 series (Operating and programming systems series)
The contour model of block structured processes
ACM SIGPLAN Notices
Design of instruction set architectures for support of high-level languages
ISCA '84 Proceedings of the 11th annual international symposium on Computer architecture
Hi-index | 0.00 |
Conventional machine-languages (instruction sets) were not designed with high-level languages (HLLs) in mind. The resulting semantic gap is known to cause significant inefficiencies in program representation and execution time. Direct interpretation of HLLs is not the solution, because it is too complex and inefficient. The alternative is to precede the interpretation phase by a compilation phase in which the HLL is translated to a "suitable" intermediate representation which is directly interpretable. Such a directly interpretable language (DIL) can qualify as an instruction set for supporting the source HLL, since it is feasible to construct an interpreter for this language. In this paper, we present our approach to the problem of designing well-matched, space-time efficient DILs. The problem is approached by examining HLLs and DILs in a common interpretive environment.A systematic, top-down DIL design methodology is presented. A set of ten transformations on the source HLL grammar is used to derive the target DIL grammar. The DIL obtained in this manner is not unique, and its nature depends on the choices made along the way. The spectrum of DILs, exhibiting various space-time characteristics, is discussed. A number of space and time measures to evaluate DILs are suggested, and are used to compare four DILs derived from a formally specified HLL.