Syntax Analysis Sukree Sinthupinyo 1 1 Department of Computer - - PowerPoint PPT Presentation

syntax analysis
SMART_READER_LITE
LIVE PREVIEW

Syntax Analysis Sukree Sinthupinyo 1 1 Department of Computer - - PowerPoint PPT Presentation

Grammar Top-Down Parsing Syntax Analysis Sukree Sinthupinyo 1 1 Department of Computer Engineering Chulalongkorn University 24 August 2012 Grammar Top-Down Parsing Outline Grammar 1 Syntax Error Handling Notational Conventions Ambiguity


slide-1
SLIDE 1

Grammar Top-Down Parsing

Syntax Analysis

Sukree Sinthupinyo1

1Department of Computer Engineering

Chulalongkorn University

24 August 2012

slide-2
SLIDE 2

Grammar Top-Down Parsing

Outline

1

Grammar Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion

2

Top-Down Parsing

slide-3
SLIDE 3

Grammar Top-Down Parsing Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion

Introduction

Type of parsers

Universal Top-Down Bottom-Up

Type of grammars

Left Recursive Non Left Recursive

slide-4
SLIDE 4

Grammar Top-Down Parsing Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion

Left recursive grammar Non-left-recursive grammar

slide-5
SLIDE 5

Grammar Top-Down Parsing Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion

Outline

1

Grammar Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion

2

Top-Down Parsing

slide-6
SLIDE 6

Grammar Top-Down Parsing Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion

Error Handling

There are two strategies of handling error

Panic-mode Phrase-level recovery

The detail of each strategy depends on specific parsing methods. Common errors

Lexical errors include misspellings of identifiers, keywords,

  • r operators

Syntactic errors include misplaced semicolons or extra or missing braces. Semantic errors include type mismatches between

  • perators and operands.

Logical errors can be anything from incorrect reasoning on the part of the programmer.

slide-7
SLIDE 7

Grammar Top-Down Parsing Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion

Grammar for Simple Arithmetic Expression

slide-8
SLIDE 8

Grammar Top-Down Parsing Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion

Outline

1

Grammar Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion

2

Top-Down Parsing

slide-9
SLIDE 9

Grammar Top-Down Parsing Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion

Terminals

slide-10
SLIDE 10

Grammar Top-Down Parsing Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion

Nonterminals

slide-11
SLIDE 11

Grammar Top-Down Parsing Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion

Others

slide-12
SLIDE 12

Grammar Top-Down Parsing Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion

Example

slide-13
SLIDE 13

Grammar Top-Down Parsing Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion

Outline

1

Grammar Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion

2

Top-Down Parsing

slide-14
SLIDE 14

Grammar Top-Down Parsing Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion

Example

From the grammar above we can parse id + id * id in two ways as shown below.

slide-15
SLIDE 15

Grammar Top-Down Parsing Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion

Eliminating Ambiguity

From the grammar above, a parse tree for a conditional statement is as below.

slide-16
SLIDE 16

Grammar Top-Down Parsing Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion

An Ambiguous Sentence

slide-17
SLIDE 17

Grammar Top-Down Parsing Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion

An Unambiguous Sentence

slide-18
SLIDE 18

Grammar Top-Down Parsing Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion

Outline

1

Grammar Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion

2

Top-Down Parsing

slide-19
SLIDE 19

Grammar Top-Down Parsing Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion

We can change the left-recursive pair of productions A → Aα | β to From the productions as We can change it to

slide-20
SLIDE 20

Grammar Top-Down Parsing Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion

Left Factoring

can be written in general as A → αβ1 | αβ2. The left-factored will be

slide-21
SLIDE 21

Grammar Top-Down Parsing

Recursive-Descent Parsing

slide-22
SLIDE 22

Grammar Top-Down Parsing

FIRST and FOLLOW

FIRST(α), where α is any string of grammar symbols, to be the set of terminals that begin strings derived from α. FOLLOW(A), for nonterminal A, is the set of terminals a that can appear immediately to the right of A in some sentential form.

slide-23
SLIDE 23

Grammar Top-Down Parsing

FIRST

slide-24
SLIDE 24

Grammar Top-Down Parsing

FOLLOW

slide-25
SLIDE 25

Grammar Top-Down Parsing

Constructing a Predictive Parsing Table

slide-26
SLIDE 26

Grammar Top-Down Parsing

Constructing a Predictive Parsing Table

slide-27
SLIDE 27

Grammar Top-Down Parsing

Table-Driven Predictive Parsing