|
|
- formal definition of input language syntax (EBNF)
- input language must be subset of existing programming language
- support for basic types (integer, boolean, char), composite types (records, arrays)
- parameter passing mechanism (by-value for basic types, and by-reference for composite types)
- parameterized local hiding by procedures
- separate compilation
- formal definition of output language syntax (EBNF)
- informal description of output language semantics
- compiler must be able to compile its own source
|