Concepts of Programming Languages (11th Edition)
Concepts of Programming Languages (11th Edition)
11th Edition
ISBN: 9780133943023
Author: Robert W. Sebesta
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
What are the major threats of using the internet? How do you use it? How do children use it? How canwe secure it? Provide four references with your answer. Two of the refernces can be from an article and the other two from websites.
Assume that a string of name & surname is saved in S. The alphabetical characters in S can be in lowercase and/or uppercase letters. Name and surname are assumed to be separated by a space character and the string ends with a full stop "." character. Write an assembly language program that will copy the name to NAME in lowercase and the surname to SNAME in uppercase letters. Assume that name and/or surname cannot exceed 20 characters. The program should be general and work with every possible string with name & surname. However, you can consider the data segment definition given below in your program. .DATA S DB 'Mahmoud Obaid." NAME DB 20 DUP(?) SNAME DB 20 DUP(?) Hint: Uppercase characters are ordered between 'A' (41H) and 'Z' (5AH) and lowercase characters are ordered between 'a' (61H) and 'z' (7AH) in the in the ASCII Code table. For lowercase letters, bit 5 (d5) of the ASCII code is 1 where for uppercase letters it is 0. For example, Letter 'h' Binary ASCII 01101000 68H 'H'…
What did you find most interesting or surprising about the scientist Lavoiser?
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