Answer the given question with a proper explanation and step-by-step solution. Write an attribute grammar whose BNF basis is that of Example 3.6 in Section 3.4.5 but whose language rules are as follows: Data types cannot be mixed in expressions, but assignment statements need not have the same types on both sides of the assignment operator. Be clear, as I have no idea how this works
Answer the given question with a proper explanation and step-by-step solution. Write an attribute grammar whose BNF basis is that of Example 3.6 in Section 3.4.5 but whose language rules are as follows: Data types cannot be mixed in expressions, but assignment statements need not have the same types on both sides of the assignment operator. Be clear, as I have no idea how this works
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
Answer the given question with a proper explanation and step-by-step solution.
Write an attribute grammar whose BNF basis is that of Example 3.6 in Section 3.4.5 but whose language rules are as follows: Data types cannot be mixed in expressions, but assignment statements need not have the same types on both sides of the assignment operator. Be clear, as I have no idea how this works
![EXAMPLE 3.6
An Attribute Grammar for Simple Assignment Statements
1. Syntax rule: <assign> → <var> = <expr>
Semantic rule: <expr>.expected_type ← <var>.actual_type
2. Syntax rule: <expr> →→ <var>[2] + <var>[3]
Semantic rule: <expr>.actual_type ←
if (<var>[2].actual_type=int) and
(<var>[3].actual_type = int)
then int
else real
end if
Predicate:
<expr>.actual_type <expr>.expected_type
3. Syntax rule:
<expr> → <var>
Semantic rule: <expr>.actual_type< <var>.actual_type
Predicate:
<expr>.actual_type == <expr>.expected_type
==
4. Syntax rule: <var> → A | B | C
Semantic rule: <var>.actual_type look-up (<var>.string)
The look-up function looks up a given variable name in the symbol table and
returns the variable's type.](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F331f0326-c416-4c24-a8c2-63d082d706c2%2F4cf0efb0-2649-411c-bc0d-c10bf7c91246%2F4wo4cic_processed.png&w=3840&q=75)
Transcribed Image Text:EXAMPLE 3.6
An Attribute Grammar for Simple Assignment Statements
1. Syntax rule: <assign> → <var> = <expr>
Semantic rule: <expr>.expected_type ← <var>.actual_type
2. Syntax rule: <expr> →→ <var>[2] + <var>[3]
Semantic rule: <expr>.actual_type ←
if (<var>[2].actual_type=int) and
(<var>[3].actual_type = int)
then int
else real
end if
Predicate:
<expr>.actual_type <expr>.expected_type
3. Syntax rule:
<expr> → <var>
Semantic rule: <expr>.actual_type< <var>.actual_type
Predicate:
<expr>.actual_type == <expr>.expected_type
==
4. Syntax rule: <var> → A | B | C
Semantic rule: <var>.actual_type look-up (<var>.string)
The look-up function looks up a given variable name in the symbol table and
returns the variable's type.
Expert Solution

This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution!
Trending now
This is a popular solution!
Step by step
Solved in 3 steps

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