Question: Question 1 (10 points) Study the following grammar, and answer the following questions: = + | * | ( ) | A | B |

Question 1 (10 points)

Study the following grammar, and answer the following questions:

=

+

| *

| ()

|

A | B | C

Question-1.1:

Show left-most derivation of A = B + C * (B + C)

Question-1.2:

Does this grammar handle operator precedence, use example expressions to support your answer.

Question-1.3: Change the grammar so that subtraction and division are accepted as valid operators in the expression.

Question 2 (10 points) Consider rules for valid identifiers in the Python language: an identifier must start with a letter or underscore, followed by any combination of letters, numbers or underscore.

Question-2.1: Design and draw a state diagram that accepts Python identifiers

Question-2.2: Provide a BNF that would accept the same Python identifiers.

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!