s.l is the lex program (only flex compiles properly).

s.y is the yacc program.

flex s.l;yacc s.y;gcc y.tab.c -ll -ly -o quadgen

s1.y takes into account the unary minus. The solution we talked in class had a "bug" - the reason being that the constants (including zero) are absent in this gramamr!.