Extend your solution to Exercise 2.21 to build an explicit parse tree. Extend your solution to Exercise 2.21 to build an abstract syntax tree directly, without constructing a parse tree first. The...



Extend your solution to Exercise 2.21 to build an explicit parse tree.


Extend your solution to Exercise 2.21 to build an abstract syntax tree directly, without constructing a parse tree first.


The dangling else problem of Pascal was not shared by its predecessor Algol 60. To avoid ambiguity regarding which then is matched by an else,


Algol 60 prohibited if statements immediately inside a then clause. The


Pascal fragment


if C1 then if C2 then S1 else S2


had to be written as either


if C1 then begin if C2 then S1 end else S2


or


if C1 then begin if C2 then S1 else S2 end


in Algol 60. Show how to write a grammar for conditional statements that


enforces this rule. (Hint: You will want to distinguish in your grammar


between conditional statements and nonconditional statements; some contexts will accept either, some only the latter.)

Nov 23, 2021
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here