1.0 Introduction
1.1 History
1.2 Characteristics
1.3 Scanner Generators
1.4 Parser Generators
1.5 Semantic Analyzer Generators
1.6 Optimization
1.7 Code Generation
1.8 Summary
Web References
Exercises
|
|
1.2.1 Metalanguage
A metalanguage describes another language or some aspect of another language. Some metalanguages for compiler parts are well known. Regular expressions can describe tokens, and Backus-Naur form (BNF) can describe the syntax of a programming language. When we add attributes and semantic functions to BNF, creating an attribute grammar , we can describe the semantics of a programming language, as well as the syntax.
Some metalanguages can be used to describe themselves. The term unstratified refers to the self-description property of a metalanguage. A good metalanguage is unstratified.
Properties of Good metalanguages
|