Recall that for Homework 2 we defined the language of set expressions as follows:
A hash-separated list of zero or more countries enclosed in curly braces is a set expression.
In a set expression, parenthesis has the highest precedence; intersection and union have the same, second highest precedence; addition has the lowest precedence. Intersection, union and addition are all left associative.
Below are 6 incorrect CFGs for the language of set expressions. For each CFG, do one of the following:
For cases (a) and (b), be sure to say which of the two cases you are illustrating.
Note that the terminals are LPAREN, RPAREN, PLUS, UNION, INTERSECT, LCURLY, RCURLY, HASH and COUNTRY.
exp → LCURLY RCURLY | LCURLY list RCURLY | term term → term PLUS factor | factor factor → factor UNION set | factor INTERSECT set | set set → LPAREN set RPAREN | exp list → COUNTRY | list HASH COUNTRY
exp → exp PLUS term | term term → term UNION factor | term INTERSECT factor | factor factor → LPAREN factor RPAREN | LCURLY list RCURLY list → ε | nlist nlist → COUNTRY | nlist HASH COUNTRY
exp → exp PLUS term | term term → term UNION factor | term INTERSECT factor | factor factor → LPAREN exp RPAREN | LCURLY list RCURLY list → ε | COUNTRY | list HASH COUNTRY
exp → exp PLUS term | term term → term UNION factor | term INTERSECT factor | LPAREN exp RPAREN | factor factor → LCURLY RCURLY | LCURLY list RCURLY list → COUNTRY | list HASH COUNTRY
exp → LPAREN exp RPAREN | term term → term PLUS factor | factor factor → factor UNION set | factor INTERSECT set | set set → LCURLY RCURLY | LCURLY list RCURLY list → COUNTRY | list HASH COUNTRY
exp → exp PLUS term | term term → term UNION factor | factor INTERSECT factor | factor factor → LPAREN exp RPAREN | LCURLY RCURLY | LCURLY list RCURLY list → COUNTRY | list HASH COUNTRY
This question concerns the following grammar.
program -> { stmts } EOF stmts -> stmt stmts | ε stmt -> ID = exp ; | IF ( exp ) stmt exp -> ID tail tail -> + exp | - exp | ε
Compute the FIRST and FOLLOW sets for the non-terminals of this grammar.