- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
What is a Predictive Parser?
Predictive Parser is also another method that implements the technique of Top- Down parsing without Backtracking. A predictive parser is an effective technique of executing recursive-descent parsing by managing the stack of activation records, particularly.
Predictive Parsers has the following components −
- Input Buffer − The input buffer includes the string to be parsed followed by an end marker $ to denote the end of the string.
Here a, +, b are terminal symbols.
- Stack − It contains a combination of grammar symbols with $ on the bottom of the stack. At the start of Parsing, the stack contains the start symbol of Grammar followed by $.
- Parsing Table − It is a two-dimensional array or Matrix M [A, a] where A is nonterminal and 'a' is a terminal symbol.
All the terminals are written column-wise, and all the Non-terminals are written rowwise.
- Parsing Program − The parsing program performs some action by comparing the symbol on top of the stack and the current input symbol to be read on the input buffer.
- Actions − Parsing program takes various actions depending upon the symbol on the top of the stack and the current input symbol. Various Actions taken are given below −
Algorithm to construct Predictive Parsing Table
Input − Context-Free Grammar G
Output − Predictive Parsing Table M
Method − For the production A → α of Grammar G.
- For each terminal, a in FIRST (𝛼) add A → α to M [A, a].
- If ε is in FIRST (α), and b is in FOLLOW (A), then add A → α to M[A, b].
- If ε is in FIRST (α), and $ is in FOLLOW (A), then add A → α to M[A, $].
- All remaining entries in Table M are errors.
Following are the steps to perform Predictive Parsing
- Elimination of Left Recursion
- Left Factoring
- Computation of FIRST & FOLLOW
- Construction of Predictive Parsing Table
- Parse the Input String
Advertisements