Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Syntaksbeskrivelse Syntaksdiagrammer og EBNF-notation.

Lignende præsentationer


Præsentationer af emnet: "Syntaksbeskrivelse Syntaksdiagrammer og EBNF-notation."— Præsentationens transcript:

1 Syntaksbeskrivelse Syntaksdiagrammer og EBNF-notation

2  Michael E. Caspersen, 2000Introducerende objektorienteret programmeringSyntaks.2 Emner Syntaks og semantik Syntaktiske entiteter og syntaktiske kategorier Syntaksdiagrammer EBNF-notation Rekursion i syntaksbeskrivelser

3  Michael E. Caspersen, 2000Introducerende objektorienteret programmeringSyntaks.3 Syntaks og semantik (1) På dansk kombinerer vi bogstaver til ord, ord og skilletegn til sætninger, sætninger til afsnit,... For at resultatet skal blive acceptabelt, er det en forudsætning at vi –benytter ord der er i sproget –konstruerer meningsfyldte sætninger grammatisk indholdsmæssigt

4  Michael E. Caspersen, 2000Introducerende objektorienteret programmeringSyntaks.4 Syntaks og semantik (2) Syntaks –form / grammatik Semantik –indhold / betydning Korrekthedsniveauer –syntaktisk korrekthed –semantisk korrekthed –logisk korrekthed (sandt)

5  Michael E. Caspersen, 2000Introducerende objektorienteret programmeringSyntaks.5 Korrekthedsniveauer (1) En mand stor hus sø Farveløse grønne ideer sover rasende Jordnødden åd elefanten Elefanten åd jordnødden Min bil er rød Mandag er den første dag i ugen

6  Michael E. Caspersen, 2000Introducerende objektorienteret programmeringSyntaks.6 Korrekthedsniveauer (2) Syntaktisk korrekt Semantisk korrekt Logisk korrekt NejJa Nej JaNej

7  Michael E. Caspersen, 2000Introducerende objektorienteret programmeringSyntaks.7 Tvetydighed Han elskede pigen på banegården Korrekt at lade Arnesen skyde Hun var skidefuld og på rulleskøjter

8  Michael E. Caspersen, 2000Introducerende objektorienteret programmeringSyntaks.8 Demonstration Hornorkester fanebærer (f)demonstrant (d) Hornorkester trompetist (t) basunist (b) t t b t f f d ? t b t f ? t f t b d ? t t b t b f d d ?

9  Michael E. Caspersen, 2000Introducerende objektorienteret programmeringSyntaks.9 Syntaksdiagrammer (1) Et syntaksdiagram er et navngivent diagram bestående af en række ‘pile’ afbrudt af symboler og af navne på syntaksdiagrammer. Et syntaksdiagram definerer alle de følger af symboler som opnås ved at gennemløbe det i pilenes retning. Symboler kaldes syntaktiske entiteter; diagrammer kaldes syntaktiske kategorier.

10  Michael E. Caspersen, 2000Introducerende objektorienteret programmeringSyntaks.10 Syntaksdiagrammer (2) Syntaktiske entiteter (symboler) Syntaktiske kategorier (diagrammer) Pile

11  Michael E. Caspersen, 2000Introducerende objektorienteret programmeringSyntaks.11 EBNF-notation for picodansk Sætning ::= Grundled Udsagnsled Genstandsled Grundled ::= “en” [ Adjektivliste ] Navneord Udsagnsled ::= “spiser” | “kører” | “løber” | “skovler” Genstandsled ::= Grundled Adjektivliste ::= Adjektiv { “,” Adjektiv } Adjektiv ::= “stor” | “rød” | “tung” | “mager” | “udspekuleret” Navneord ::= “mand” | “bil” | “hest” | “skovl”

12  Michael E. Caspersen, 2000Introducerende objektorienteret programmeringSyntaks.12 EBNF-notation Syntaktiske entiteter Syntaktisk kategori Sammenstilling (efter hinanden) Valg 0 eller 1 forekomst af... 0 eller mange forekomster af... “...” Navn | [... ] {... }

13  Michael E. Caspersen, 2000Introducerende objektorienteret programmeringSyntaks.13 Præcedensregler 1. (sammenstilling) 2. | (valg) Som sædvanligt kan parenteser bruges til at ‘overrule’ præcedensregler. seq ::= “a” | “b” [ “c” ] seq ::= (“a” | “b”) [ “c” ] Sammenstillingsoperatoren er usynlig. For at tydeliggøre pointen er den her markeret med.

14  Michael E. Caspersen, 2000Introducerende objektorienteret programmeringSyntaks.14 EBNF og syntaksdiagrammer “...” Navn x y x | y [ x ] { y } xy x y x x

15  Michael E. Caspersen, 2000Introducerende objektorienteret programmeringSyntaks.15 E ::= E op E | “(“ E “)” | Tal op ::= “+” | “-” | “*” | “/” Tal ::= “0” | “1” | “2” | “3” | “4” | “5” | “6” | “7” | “8” | “9” Regneudtryk og parsetræ 3 + 7 * 9 E EEop EE * +TT 37 9


Download ppt "Syntaksbeskrivelse Syntaksdiagrammer og EBNF-notation."

Lignende præsentationer


Annoncer fra Google