CSc 4340/6340, Introduction to Compilers
Fall 2004
Programming Assignment 2
Due: 22 September 2004
INDIVIDUAL ASSIGNMENT

Using JFlex and JCup tools, write a parser and evaluator for boolean expressions whose grammar is given below:

 B --> O
 O --> A or  O |  A
 A --> T and A |  T | not T
 T --> true | false | id | '('  O ')'
Here, id is any identifier that begins with a letter and is followed by zero or more letters or digits. You should wrap the parser and evaluator into an interactive program that behaves as follows:
$ java bool
BOOL> P=true;
BOOL> Q=true;
BOOL> R1=false;
BOOL> R2=true;
BOOL> eval( P and Q or R1 and not R2 );
P and Q or R1 and not R2 = true
BOOL> exit;
$