Question: Please Read Carefully! Assignment: Write a recognizer for this grammar in the recursive descent style. That is, your solution should include a scanner function, as

Please Read Carefully!

Assignment:

Write a recognizer for this grammar in the "recursive descent" style. That is, your solution should include a scanner function, as well as a collection of boolean functions that recognize the various parts of the grammar.

Your program should accept an input string S, then output its determination; that is, either:

S is a valid sentence in this grammar - OR - S is not a valid sentence in this grammar

where S is the input string. Use the following test cases:

m

-b

c*z

a+(b-c)

z/w + x/y

d +/ e

Extra explanatioin here:

Consider the following variation of the BNF:

E>

::=

|

::=

+ | - | * | /

::=

a | b | . . . | z

(identifier) rule. This rule tells us: an identifier consists of any single lower-case alphabet letter.

the (expression) rule? The first alternative says, an expression can be an . We know is a SINGLE LETTER. So one possibility for an expression is a SINGLE LOWERCASE LETTER. For example, a or x or w.

The second alternative says, an expression can be 2 expressions joined by an (operator). Those two expressions can be either of the 2 alternatives, however! So a+bor c*w+a and so on.

Like the Week 6 grammar, the unique characteristic of this grammar is that every lexeme (significant part) of the language consists of a single character. you might come up with a categorization scheme like the following:

LEXEME

TOKEN

any single lowercase letter

ID_TOKEN

+ or - or * or /

OP_TOKEN

anything other than lowercase letter, (, ), +, *

ILLEGAL_TOKEN

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!