Abstract:
The language of universal algebras is used as an alternative approach for programming language specification. BNF (Backus-Naur form) rules are used for specifying the sig...Show MoreMetadata
Abstract:
The language of universal algebras is used as an alternative approach for programming language specification. BNF (Backus-Naur form) rules are used for specifying the signature of the language algebras instead of the context-free syntax. The algorithm for program parsing is inductively defined by the following universal algebraic construction: any function defined on the generators of a free algebra taking values in the carrier of another similar algebra can be uniquely extended to a homomorphism between the two algebras; any conventional programming language can be specified by a finite set of BNF rules and its algebra of symbols is generated by a finite set of generator classes. Thus, any function defined on the finite set of generators offers an algebraic mechanism for a universal algorithm for source language program parsing. The right-hand side of the BNF rules are the patterns searched by the algorithm in the source text of the program. The essential feature of this algorithm is that it can be used as a driver for code generation and optimization in a translator.<>
Published in: IEEE Transactions on Software Engineering ( Volume: 14, Issue: 4, April 1988)
DOI: 10.1109/32.4672
Keywords assist with retrieval of results and provide a means to discovering other relevant content. Learn more.
- IEEE Keywords
- Index Terms
- Pattern Matching ,
- Programming Language ,
- Program Evaluation ,
- Finite Set ,
- Target Language ,
- Homomorphism ,
- Source Text ,
- Code Generation ,
- Source Language ,
- Optimal Code ,
- Free Algebra ,
- Semantic ,
- Calculation Process ,
- Reachable ,
- Evaluation Of Algorithms ,
- Sequence Of States ,
- Computing Units ,
- Complex Language ,
- Contextual Settings ,
- Algebraic Structure ,
- Operation Scheme ,
- Context-free Grammar ,
- Abstract Syntax Tree ,
- Non-terminal ,
- Source Program ,
- Symbolic Construction ,
- Layers Of Hierarchy ,
- Computational Operations ,
- Algebraic Expression ,
- Universal Property ,
- Parsing ,
- Transition State ,
- Algebra ,
- Types Of Contexts
Keywords assist with retrieval of results and provide a means to discovering other relevant content. Learn more.
- IEEE Keywords
- Index Terms
- Pattern Matching ,
- Programming Language ,
- Program Evaluation ,
- Finite Set ,
- Target Language ,
- Homomorphism ,
- Source Text ,
- Code Generation ,
- Source Language ,
- Optimal Code ,
- Free Algebra ,
- Semantic ,
- Calculation Process ,
- Reachable ,
- Evaluation Of Algorithms ,
- Sequence Of States ,
- Computing Units ,
- Complex Language ,
- Contextual Settings ,
- Algebraic Structure ,
- Operation Scheme ,
- Context-free Grammar ,
- Abstract Syntax Tree ,
- Non-terminal ,
- Source Program ,
- Symbolic Construction ,
- Layers Of Hierarchy ,
- Computational Operations ,
- Algebraic Expression ,
- Universal Property ,
- Parsing ,
- Transition State ,
- Algebra ,
- Types Of Contexts