syntax analysis
play

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


  1. Grammar Top-Down Parsing Syntax Analysis Sukree Sinthupinyo 1 1 Department of Computer Engineering Chulalongkorn University 24 August 2012

  2. Grammar Top-Down Parsing Outline Grammar 1 Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion Top-Down Parsing 2

  3. Syntax Error Handling Grammar Notational Conventions Top-Down Parsing Ambiguity Elimination of Left Recursion Introduction Type of parsers Universal Top-Down Bottom-Up Type of grammars Left Recursive Non Left Recursive

  4. Syntax Error Handling Grammar Notational Conventions Top-Down Parsing Ambiguity Elimination of Left Recursion Left recursive grammar Non-left-recursive grammar

  5. Syntax Error Handling Grammar Notational Conventions Top-Down Parsing Ambiguity Elimination of Left Recursion Outline Grammar 1 Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion Top-Down Parsing 2

  6. Syntax Error Handling Grammar Notational Conventions Top-Down Parsing 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, or operators Syntactic errors include misplaced semicolons or extra or missing braces. Semantic errors include type mismatches between operators and operands. Logical errors can be anything from incorrect reasoning on the part of the programmer.

  7. Syntax Error Handling Grammar Notational Conventions Top-Down Parsing Ambiguity Elimination of Left Recursion Grammar for Simple Arithmetic Expression

  8. Syntax Error Handling Grammar Notational Conventions Top-Down Parsing Ambiguity Elimination of Left Recursion Outline Grammar 1 Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion Top-Down Parsing 2

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

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

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

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

  13. Syntax Error Handling Grammar Notational Conventions Top-Down Parsing Ambiguity Elimination of Left Recursion Outline Grammar 1 Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion Top-Down Parsing 2

  14. Syntax Error Handling Grammar Notational Conventions Top-Down Parsing Ambiguity Elimination of Left Recursion Example From the grammar above we can parse id + id * id in two ways as shown below.

  15. Syntax Error Handling Grammar Notational Conventions Top-Down Parsing Ambiguity Elimination of Left Recursion Eliminating Ambiguity From the grammar above, a parse tree for a conditional statement is as below.

  16. Syntax Error Handling Grammar Notational Conventions Top-Down Parsing Ambiguity Elimination of Left Recursion An Ambiguous Sentence

  17. Syntax Error Handling Grammar Notational Conventions Top-Down Parsing Ambiguity Elimination of Left Recursion An Unambiguous Sentence

  18. Syntax Error Handling Grammar Notational Conventions Top-Down Parsing Ambiguity Elimination of Left Recursion Outline Grammar 1 Syntax Error Handling Notational Conventions Ambiguity Elimination of Left Recursion Top-Down Parsing 2

  19. Syntax Error Handling Grammar Notational Conventions Top-Down Parsing 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

  20. Syntax Error Handling Grammar Notational Conventions Top-Down Parsing Ambiguity Elimination of Left Recursion Left Factoring can be written in general as A → αβ 1 | αβ 2 . The left-factored will be

  21. Grammar Top-Down Parsing Recursive-Descent Parsing

  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.

  23. Grammar Top-Down Parsing FIRST

  24. Grammar Top-Down Parsing FOLLOW

  25. Grammar Top-Down Parsing Constructing a Predictive Parsing Table

  26. Grammar Top-Down Parsing Constructing a Predictive Parsing Table

  27. Grammar Top-Down Parsing Table-Driven Predictive Parsing

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend