Question: [20 pts) Below is a very ambiguous grammar for regular expressions using concatenation, disjunction, Kleene star, sets [...], constants, empty, and parentheses. Terminal c stands

[20 pts) Below is a very ambiguous grammar for regular expressions using concatenation, disjunction, Kleene star, sets [...], constants, empty, and parentheses. Terminal c stands for any constant (a symbol a-z, 0-9, etc.) but not the special symbols or-bar, star, brackets, , or parentheses. E.g., R **c (C* (CCCC]) * Below, backslashes before a symbol mean that symbol literally, as a terminal symbol. (Typical regular expression handlers use this syntax.) R RRR \|R|R\* \[ C ] | \e \(R) Cs Ctail Ctail c Ctail For this problem, rewrite the grammar so that it's LL(1) - i.e., we could write a recursive descent parser using the grammar. Grading: 4 pts each for the concatenation, or-bar, Kleene star, e, and parenthesized expression rules. [20 pts) Below is a very ambiguous grammar for regular expressions using concatenation, disjunction, Kleene star, sets [...], constants, empty, and parentheses. Terminal c stands for any constant (a symbol a-z, 0-9, etc.) but not the special symbols or-bar, star, brackets, , or parentheses. E.g., R **c (C* (CCCC]) * Below, backslashes before a symbol mean that symbol literally, as a terminal symbol. (Typical regular expression handlers use this syntax.) R RRR \|R|R\* \[ C ] | \e \(R) Cs Ctail Ctail c Ctail For this problem, rewrite the grammar so that it's LL(1) - i.e., we could write a recursive descent parser using the grammar. Grading: 4 pts each for the concatenation, or-bar, Kleene star, e, and parenthesized expression rules
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
