Concepts Of Programming Languages
Concepts Of Programming Languages
12th Edition
ISBN: 9780134997186
Author: Sebesta, Robert W.
Publisher: Pearson,
bartleby

Concept explainers

Expert Solution & Answer
Book Icon
Chapter 4, Problem 4PS

Explanation of Solution

Extended Backus-Naur Form (EBNF):

BNF is a natural notation for describing syntax described by John Backus and Peter Naur. By extending it, we had EBNF which only enhances the readability and writability of BNF.

The recursive descent parser works on the following EBNF for the arithmetic expressions:

{(+|-)}

{(*|/)}

id|int_constant|()

We know that, the following tokens are returned by the lexical analyzer for the lexemes:

TokenLexeme
11Identifier
21+ Operator
23* Operator
25(
26)

In the table the left column having the heading token refers to the token codes to the different types of the categories like:-

a) 11 = identifier

b) 21 =ADD operator

c) 23 = MULTIPLY operator

d) 25 = left brace lexeme

The example given in the problem is a(b+c). The recursive descent parser will start working from the left most term. First the whole statement is taken as an expression and it enters into expression category then the first term is taken which enters into the term category which further enters into the factor group

Blurred answer
Students have asked these similar questions
Find closed form representation for recursively defined function: T(n) = 7, when n = 1 T(n) = 5T(n/4) + n^2, when n > 1. Explore power of two. Find closed form representation in the form where T(n) = A*n^B + C*n^D. Find A, B, C, and D.   Hint: T(4) = ?, T(4^2) = ?, T(4^3) = ? to find the patten.
Implement in Scheme using map and foldl. DO NOT use recursive definition for this problem.   Define a function lstOR, which takes a list of Booleans and returns #f if and only if all of the Booleans are false. For your convenience, (lstOR 0 ()) is defined as #f. For example,   (lstOR '(#t #f)) ; returns #t (lstOR '(#f #f)) ; returns #f (lstOR '()) ; returns #f
Draw the results of using the recursive ruler-drawing algorithm for thesevalues of the arguments: rule(0, 11, 4), rule(4, 20, 4), and rule(7, 30, 5).
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning