CPSC 411 Compiler construction I
Author: Robin Cockett
Date: 14 Feb. 2018
Assignment #3: Lexer and parser for M+
Due date: 20 March, 2018
Use LEX and YACC (or equivalent systems such as BNFC) to implement a
parser for M+ (if you are ambitious you can implement a parser
for M++: this language is somewhat harder to implement but much more
satisfying when you have implemented it!). You must
demonstrate your program by pretty printing the syntax tree for the
programs in /home/411/M+/M+tests.
For this series of assignments you must look at the stack
based assembly language AM (see /home/411/AM) and also
at the language description of M+ (see /home/411/M+).
- The M+- language specification is here
- The M++ language specification is here
- The specification of the datatypes for M+- is here
- The specification of the symbol table is here
- The specification of the AM machine is here