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:
|
| (
|
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
Get step-by-step solutions from verified subject matter experts
