Concepts Of Programming Languages
Concepts Of Programming Languages
12th Edition
ISBN: 9780134997186
Author: Sebesta, Robert W.
Publisher: Pearson,
Expert Solution & Answer
Book Icon
Chapter 4, Problem 1RQ

Explanation of Solution

Syntax analyzers are based on grammars:

Syntax analyzer phase in compilation process is the step in which the “tokens” in the programs are identified and recognize whether they are specified in a valid way.

So, syntax analyzers are based on the syntax of the language. The syntax is often described formally by Context Free Grammars (CFG) or Backus-Naur Form (BNF).

Context Free Grammars (CFG):

There were four classes of grammars which describes the four classes of languages. Context Free Grammars was one of the four classes which described the syntax of whole programming languages with some minor exceptions.

Backus-Naur Form (BNF):

BNF is a natural notation for describing syntax described by John Backus and Peter Naur. It is very similar to Context Free Grammars.

Thus, syntax is based on BNF (or context free grammar from) due to three main reasons as described below:

  • Instead of using some informal notations, syntax description with context free grammars are precise and unambiguous. This is easy to understand for both human and software systems.
  • The formal description of the syntax, CFG or BNF both are used as the direct basis of syntax analyzer.
  • Context free grammars or BNF are easy to implement because of their modular nature. That is, they can be implemented in modules.

Want to see more full solutions like this?

Subscribe now to access step-by-step solutions to millions of textbook problems written by subject matter experts!
Students have asked these similar questions
8. Cash RegisterThis exercise assumes you have created the RetailItem class for Programming Exercise 5. Create a CashRegister class that can be used with the RetailItem class. The CashRegister class should be able to internally keep a list of RetailItem objects. The class should have the following methods: A method named purchase_item that accepts a RetailItem object as an argument. Each time the purchase_item method is called, the RetailItem object that is passed as an argument should be added to the list. A method named get_total that returns the total price of all the RetailItem objects stored in the CashRegister object’s internal list. A method named show_items that displays data about the RetailItem objects stored in the CashRegister object’s internal list. A method named clear that should clear the CashRegister object’s internal list. Demonstrate the CashRegister class in a program that allows the user to select several items for purchase. When the user is ready to check out, the…
5. RetailItem ClassWrite a class named RetailItem that holds data about an item in a retail store. The class should store the following data in attributes: item description, units in inventory, and price. Once you have written the class, write a program that creates three RetailItem objects and stores the following data in them: Description    Units in Inventory    PriceItem #1    Jacket    12    59.95Item #2    Designer Jeans    40    34.95Item #3    Shirt    20    24.95
Find the Error: class Information:     def __init__(self, name, address, age, phone_number):         self.__name = name         self.__address = address         self.__age = age         self.__phone_number = phone_number   def main():     my_info = Information('John Doe','111 My Street', \                                '555-555-1281')
Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Np Ms Office 365/Excel 2016 I Ntermed
Computer Science
ISBN:9781337508841
Author:Carey
Publisher:Cengage
Text book image
Programming with Microsoft Visual Basic 2017
Computer Science
ISBN:9781337102124
Author:Diane Zak
Publisher:Cengage Learning
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Text book image
Microsoft Visual C#
Computer Science
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Cengage Learning,
Text book image
CMPTR
Computer Science
ISBN:9781337681872
Author:PINARD
Publisher:Cengage
Text book image
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage