140k views
4 votes
In C++ the declaration of floating point variables starts with the type name double, followed by the name of the variable, and terminates with a semicolon. It is possible to declare multiple variables separated by commas in one statement. The following statements present examples, double b; double a, z, W; The following partial grammar represents the specification for C++ style variable declaration. In this grammar the range a-z indicates terminals that represent variable names. A variable name consists of only one letter. The non-terminal S is the start symbol. S = TV; V=C,VC T = float C = a-z We want to design an LR parser for this grammar. Create a complete parsing DFA, showing the closure for all states including the parsing marker in every rule, and transitions between the states. States need to be numbered or named. You may write all required information in a table instead of drawing a DFA.

1 Answer

4 votes

Answer:

See explaination

Step-by-step explanation:

Given a partial grammar which represents the specification for C++ style variable declaration. In this range a - z indicates terminals that represents the variable names.

'S' is the start symbol of the

non-terminal.

Hence, given,

S= TV

V= CX

Please kindly refer to attachment for further instructions and complete step by step solution.

In C++ the declaration of floating point variables starts with the type name double-example-1
In C++ the declaration of floating point variables starts with the type name double-example-2
In C++ the declaration of floating point variables starts with the type name double-example-3
User Shivakrishna
by
5.9k points