Programming Language Pragmatics, Fourth Edition
Programming Language Pragmatics, Fourth Edition
4th Edition
ISBN: 9780124104099
Author: Michael L. Scott
Publisher: Elsevier Science
Expert Solution & Answer
Book Icon
Chapter 2, Problem 18E

Explanation of Solution

a.

FIRST (Es):

  • In production rule, the FIRST set is applied to the right-hand side (RHS), and tells all the terminal symbols which can start sentences derived from that RHS.
  • The definition of FIRST set is FIRST (x) = {x}, here “x” is terminal symbol.
  • For any non-terminal “X” with production rules Xx1|x2|...|xn,FIRST(X)=FIRST(x1)FIRST(x2)...FIRST(xn)
  • The FIRST (Es) for the given LL (1) grammar is as follows:

    FIRST (Es) = {atom, (, ’, ε}.

    In the grammar, “atom”, “(“, “’”, “ε” is the first right-hand side. So it is considered as FIRST (Es).

FOLLOW (E) in the given grammar:

  • FOLLOW set is used when the current non-terminal can derive.
    • S is the start symbol, so one can use FOLLOW(S) to start the FOLLOW grammar

Explanation of Solution

b.

Parse tree:

A parse tree for the given string (cdr ’ (a b c) ) $$ is ...

Explanation of Solution

c.

Left-most derivation:

The left-most derivation of (cdr ’ (a b c)) $$ is as follows:

 E_ $$ ( E_ Es ) $$ ( cdr Es_ ) $$ ( cdr E_ Es ) $$

    ( cdr ' E_ Es ) $$( cdr ' (E_ Es) Es ) $$( cdr ' (Es_) Es )

Explanation of Solution

d.

Table-driven top-down parse of the string (cdr ’ (a b c)):

Parse stackInput streamComment
P(cdr ’ (a b c)) $$ 
E$$(cdr ’ (a b c)) $$Predict P → E $$
( E Es ) $$(cdr ’ (a b c)) $$Predict E → ( E Es )
E Es ) $$cdr ’ (a b c)) $$Match (
atom Es ) $$cdr ’ (a b c)) $$Predict E → atom
Es ) $$’ (a b c)) $$Match atom
E Es ) $$’ (a b c)) $$Predict Es →E Es
’ E Es ) $$’ (a b c)) $$Predict E → ’ E
E Es ) $$(a b c)) $$Match ’
( E Es ) Es ) $$(a b c)) $$

Explanation of Solution

e.

Decent tree for “’”:

  • The given string is (cdr ’ (a b c)), here “’” is matched in a recursive descent pa...

Blurred answer
Students have asked these similar questions
.NET Interactive Solving Sudoku using Grover's Algorithm We will now solve a simple problem using Grover's algorithm, for which we do not necessarily know the solution beforehand. Our problem is a 2x2 binary sudoku, which in our case has two simple rules: •No column may contain the same value twice •No row may contain the same value twice If we assign each square in our sudoku to a variable like so: 1 V V₁ V3 V2 we want our circuit to output a solution to this sudoku. Note that, while this approach of using Grover's algorithm to solve this problem is not practical (you can probably find the solution in your head!), the purpose of this example is to demonstrate the conversion of classical decision problems into oracles for Grover's algorithm. Turning the Problem into a Circuit We want to create an oracle that will help us solve this problem, and we will start by creating a circuit that identifies a correct solution, we simply need to create a classical function on a quantum circuit that…
Answer two JAVA OOP problems.
Answer two JAVA OOP problems.
Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education