Question: Write a CFG for a program in a language where a program is a list of statements. There are only two types of statements: assignment

Write a CFG for a program in a language where a program is a list of statements. There are only two types of statements: assignment statements and while statements.

Assignment statements are the same as C assignment statements except that the expressions on the right side of the equals sign needs to be in postfix notation (your last assignment had a grammar for postfix).

While statements should follow the same rules as C while statements.

Hint: Use recursion to generate a list of statements.

Hint 2: Be sure you allow nested while loops.

Hint 3: Dont worry about relational or logical operators in the condition of your while loop. The thing inside the parenthesis is just an expression in postfix notation.

Hint 4: Anything you can write a regular expression for can be considered a terminal.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!