Home / Expert Answers / Computer Science / create-a-shift-reduce-recursive-descent-syntax-parser-in-c-or-c-using-the-following-bnf-rules-and-pa405

# (Solved): create a shift-reduce recursive descent syntax parser in C or C++ using the following BNF rules and ...

create a shift-reduce recursive descent syntax parser in C or C++ using the following BNF rules and criteria.

Thank you

$$P::=S$$ $$S::=V=E|\operatorname{read}(V)|$$ print(V) $$\mid$$ do $$\{S\}$$ while $$C \mid S ; S$$ $$C::=EE| E==E|E<>E| E<=E \mid E>=E$$ $$E::=T|E+T| E=T$$ $$T::=F|T \cdot F| T|F| T \% F$$ $$F::=(E)|N| V$$ $$V::=$$ a $$\mid$$ b $$|\ldots|$$ y $$|z| \mathrm{a} V|\mathrm{~b} V| \ldots|\mathrm{yV}| \mathrm{zV}$$ $$N::=0|1| \ldots|8| 9|0 N| 1 N|\ldots| 8 N \mid 9 N$$ Your parser should accept the source code file as a required command line argument and display an appropriate error message if the argument is not provided or the file does not exist. The command to run your application will look something like this:

We have an Answer from Expert

Answer Step 1/1 E -> TE’ E’ -> +T E’|? T -> F T’ T’ -> *F T’ | ? F -> (E) | id FIRST set FIRST(E) = FIRST(T) = { ( , id } FIRST(E’) = { +, ? } FIRST(T
We have an Answer from Expert