Show simple item record

Automatic generation of efficient compilers using abstract algebraic semantics.

dc.contributor.authorAnderson, Michael Roy
dc.contributor.advisorCompton, Kevin J.
dc.date.accessioned2016-08-30T16:49:52Z
dc.date.available2016-08-30T16:49:52Z
dc.date.issued1990
dc.identifier.urihttp://gateway.proquest.com/openurl?url_ver=Z39.88-2004&rft_val_fmt=info:ofi/fmt:kev:mtx:dissertation&res_dat=xri:pqm&rft_dat=xri:pqdiss:9023509
dc.identifier.urihttps://hdl.handle.net/2027.42/128476
dc.description.abstractA compiler generator is described which produces compilers competitive with handwritten ones in compile and execution time. In both time measures its compilers are as fast as those produced by other semantics-directed systems and for most systems show one to three orders of magnitude improvement in at least one time measure. The generator described here differs from most in that it employs an algebraic semantic system rather than one based on the $\lambda$-calculus. Thus, it uses a formal semantic system which is easily comprehended and naturally applicable to language processing. A semantic algebra is presented which has very general applicability yet contains a small set of basic notions. Fundamental constructs of modern programming languages are analyzed and it is shown that apparently arbitrary choices in language syntax significantly affect the complexity of the semantic algebra for one-pass compilation. Previous compiler generators are inefficient partly because they are unable to translate source into object language directly. They construct an intermediate representation of semantic terms, thus separating parsing from code-generation. This work uses the semantic language to synthesize parsing and code-generation, as is done in a typical handwritten one-pass compiler, so that after construction of the compiler, no further reference is made to semantic terms. To accomplish this, a common problem of LR parsing is resolved: to identify positions in an LR grammar at which null nonterminals may be inserted such that the resulting grammar is still LR. This problem frequently arises in hand-writing a compiler and often was resolved by trial-and-error. A complete characterization and efficient algorithm for solving this problem are presented. Improved algorithms are given for related problems on networks and in the theory of ordered sets. The theory of the syntactic and semantic aspects of the compiler generator is presented and an implementation using these principles is described.
dc.format.extent157 p.
dc.languageEnglish
dc.language.isoEN
dc.subjectAbstract
dc.subjectAlgebraic
dc.subjectAutomatic
dc.subjectCompilers
dc.subjectEfficient
dc.subjectGeneration
dc.subjectSemantics
dc.subjectUsing
dc.titleAutomatic generation of efficient compilers using abstract algebraic semantics.
dc.typeThesis
dc.description.thesisdegreenamePhDen_US
dc.description.thesisdegreedisciplineApplied Sciences
dc.description.thesisdegreedisciplineComputer science
dc.description.thesisdegreegrantorUniversity of Michigan, Horace H. Rackham School of Graduate Studies
dc.description.bitstreamurlhttp://deepblue.lib.umich.edu/bitstream/2027.42/128476/2/9023509.pdf
dc.owningcollnameDissertations and Theses (Ph.D. and Master's)


Files in this item

Show simple item record

Remediation of Harmful Language

The University of Michigan Library aims to describe library materials in a way that respects the people and communities who create, use, and are represented in our collections. Report harmful or offensive language in catalog records, finding aids, or elsewhere in our collections anonymously through our metadata feedback form. More information at Remediation of Harmful Language.

Accessibility

If you are unable to use this file in its current format, please select the Contact Us link and we can modify it to make it more accessible to you.