Upgrade to Pro — share decks privately, control downloads, hide ads and more …

UP Lecture 12

UP Lecture 12

Compilers
Connecting the Dots
(202503)

Avatar for Javier Gonzalez-Sanchez

Javier Gonzalez-Sanchez PRO

December 15, 2023
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. Dr. Javier Gonzalez-Sanchez | Compilers | 2 jgs Homework |

    Java Grammar Syntax Diagrams for a Subset of the Java Language
  2. Dr. Javier Gonzalez-Sanchez | Compilers | 3 jgs Homework |

    Syntaxis Diagrams https://www.bottlecaps.de/rr/ui
  3. Dr. Javier Gonzalez-Sanchez | Compilers | 6 jgs Case Study

    | A Grammar for JSON { "name": "Alice", "age": 30, "address": { "city": "New York", "zip": "10001" }, "phones": ["+1-800-555-1234", "+1-800-555-5678"] }
  4. Dr. Javier Gonzalez-Sanchez | Compilers | 7 jgs Case Study

    | A Grammar for JSON Object Pair Array Value
  5. Dr. Javier Gonzalez-Sanchez | Compilers | 8 jgs Case Study

    | A Grammar for JSON ▪ Object ::= "{" Pair ("," Pair )* "}" ▪ Pair ::= String ":" Value ▪ Value ::= String | Number | "true" | "false" | "null" | Object | Array ▪ Array ::= "[" Value ("," Value )* "]" ▪ String ::= "string" ▪ Number ::= "integer"
  6. Dr. Javier Gonzalez-Sanchez | Compilers | 10 jgs Case Study

    | A Grammar for JSON {"name":false, "age" :100 }
  7. Dr. Javier Gonzalez-Sanchez | Compilers | 11 jgs Case Study

    | A Grammar for JSON {"name":false, "age" :100, "grades”:[1,2,3] }
  8. Dr. Javier Gonzalez-Sanchez | Compilers | 12 jgs Case Study

    | A Grammar for JSON {"name":false, "age" :100, "grades":{ "labs":[1,2,3] } }
  9. Dr. Javier Gonzalez-Sanchez | Compilers | 13 jgs Test Yourselves

    ▪ Create derivation trees for the inputs shown on slides 17 to 20, even though we have already completed some of them. Try to build them from scratch on your own.
  10. Dr. Javier Gonzalez-Sanchez | Compilers | 17 jgs Do not

    Forget ▪ Terminals: Represented in lowercase, enclosed in single or double quotes, or depicted as ovals in diagrams. ▪ Non-Terminals: Represented with an uppercase initial letter, enclosed in angle brackets (< >), or depicted as rectangles in diagrams.
  11. Dr. Javier Gonzalez-Sanchez | Compilers | 28 jgs Homework Syntax

    Diagrams for Java: - Class - Attributes - Methods - Parameters - Instruction - Expressions - … Do not forget static, final, public, private, data- types, abstract, extends, implements …
  12. jgs Compilers Javier Gonzalez-Sanchez, Ph.D. [email protected] Spring 2025 Copyright. These

    slides can only be used as study material for the Compilers course at Universidad Panamericana. They cannot be distributed or used for another purpose.