CPSC 411 Compiler construction I
Author: Robin Cockett
Date: 15 January 2016
Assignment #3: Lexer and parser for M+
Due date: 20 March, 2016
Use LEX and YACC (or equivalent systems) 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