Consider a CFL for Java if-statements: G = ({, , }, {if, condition, else, (, ), stmt}, R, ) where R is: → stmt | | → if ( condition ) → if ( condition ) else Show that G is ambiguous and give a different, unambiguous grammar for the same language that corresponds to Java semantics.
Consider a CFL for Java if-statements: G = ({, , }, {if, condition, else, (, ), stmt}, R, ) where R is: → stmt | | → if ( condition ) → if ( condition ) else Show that G is ambiguous and give a different, unambiguous grammar for the same language that corresponds to Java semantics.
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
Related questions
Question
Consider a CFL for Java if-statements:
G = ({<STMT>, <IF-THEN>, <IF-THEN-ELSE>}, {if, condition, else, (, ), stmt}, R, <STMT>)
where R is:
<STMT> → stmt | <IF-THEN> | <IF-THEN-ELSE>
<IF-THEN> → if ( condition ) <STMT>
<IF-THEN-ELSE> → if ( condition ) <STMT> else <STMT>
Show that G is ambiguous and give a different, unambiguous grammar for the same language that corresponds to Java semantics.
Expert Solution
Step 1
Given grammar G = ({<STMT>, <IF-THEN>, <IF-THEN-ELSE>}, {if, condition, else, (, ), stmt}, R, <STMT>)
where R is:
<STMT> → stmt | <IF-THEN> | <IF-THEN-ELSE>
<IF-THEN> → if ( condition ) <STMT>
<IF-THEN-ELSE> → if ( condition ) <STMT> else <STMT>
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 3 images
Knowledge Booster
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.Recommended textbooks for you
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education