CS450 Compiler Design
12
Syntax Specification
•Syntax is specified using “Context Free Grammars”:
–A finite set of terminal symbols
–A finite set of non-terminal symbols
–A start symbol
–A finite set of production rules
•Usually CFG are written in “Bachus Naur Form” or BNF notation.
•A production rule in BNF notation is written as:
•N ::= a     where N is a non terminal
            and a a sequence of terminals and non-terminals
•N ::= a | b | ...    is an abbreviation for several rules with N
•                           as left-hand side.