Question: 2. (20pt) Consider the following grammar: stmt assignment | subr_call assignment + id : = expr subr_call _id ( arg_list ) expr + primary expr_tail

2. (20pt) Consider the following grammar: stmt assignment | subr_call assignment + id : = expr subr_call _id ( arg_list ) expr + primary expr_tail expr_tail + op expr 1 primary id | subr_call | ( expr ) op + | - | * / arg_list + expr args_tail args_tail + , arg_list | E (1) Construct a parse tree for the string foo(a, b). (2) Show a right-most derivation for the same string. (3) Prove that the grammar is not LL(1). (4) Modify the grammar so that it is LL(1). 2. (20pt) Consider the following grammar: stmt assignment | subr_call assignment + id : = expr subr_call _id ( arg_list ) expr + primary expr_tail expr_tail + op expr 1 primary id | subr_call | ( expr ) op + | - | * / arg_list + expr args_tail args_tail + , arg_list | E (1) Construct a parse tree for the string foo(a, b). (2) Show a right-most derivation for the same string. (3) Prove that the grammar is not LL(1). (4) Modify the grammar so that it is LL(1)
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
