Download præsentationen
Præsentation er lastning. Vent venligst
Offentliggjort afChristen Johansen Redigeret for ca. et år siden
1
i o p o DAIMI, AU, Oktober 1999Introducerende objektorienteret programmering3E.1 Syntaksbeskrivelse Udtryk og Java-programmer
2
i o p o DAIMI, AU, Oktober 1999Introducerende objektorienteret programmering3E.2 Emner Udtryk Figurer (pointe med ‘inden i’) Rekursion i syntaksbeskrivelser Java-syntaks (erklæringer) Syntaksdiagrammer EBNF-notation Bogens notation
3
i o p o DAIMI, AU, Oktober 1999Introducerende objektorienteret programmering3E.3 ( E: expression op: operator T: tal ) E ::= E op E | “(“ E “)” | T op ::= “+” | “-” | “*” | “/” T ::= “0” | “1” | “2” | “3” | “4” | “5” | “6” | “7” | “8” | “9” Regneudtryk og parsetræ R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17
4
i o p o DAIMI, AU, Oktober 1999Introducerende objektorienteret programmering3E.4 3 + 7 * 9 E E op E E op E op E T op E op E 3 op E op E 3 + E op E 3 + T op E 3 + 7 op E 3 + 7 * E 3 + 7 * T 3 + 7 * 9 Regneudtryk og parsetræ E EEop EE * +TT 37 T R1 R3 R11 R4 R3 R15 R16 R3 R17 9
5
i o p o DAIMI, AU, Oktober 1999Introducerende objektorienteret programmering3E.5 Figuroperatorer : inde i : til venstre for : oven på T inde i C til venstre for F T C F F TC Syntaks?
6
i o p o DAIMI, AU, Oktober 1999Introducerende objektorienteret programmering3E.6 E ::= E op E | “(“ E “)” | F op ::= “ ” | “ ” | “ ” F ::= “T” | “F” | “C” Figurudtryk R1 R2 R3 R4 R5 R6 R7 R8 R9
7
i o p o DAIMI, AU, Oktober 1999Introducerende objektorienteret programmering3E.7 T C F E E op E E op E op E F op E op E T op E op E T E op E T F op E T C op E T C E T C F Figurudtryk og parsetræ E EEop EE FF TC F R1 R3 R7 R5 R3 R9 R4 R3 F R8
8
i o p o DAIMI, AU, Oktober 1999Introducerende objektorienteret programmering3E.8 E ::= E op E | “(“ E “)” | E “ ” F | F op ::= “ ” | “ ” | “ ” F ::= “T” | “F” | “C” Hvad betyder T (C F) ? T (C F) giver ikke mening! Skal det være syntaktisk forkert, eller syntaktisk korrekt og “bare” semantisk forkert?
9
i o p o DAIMI, AU, Oktober 1999Introducerende objektorienteret programmering3E.9 Java-syntaks int x, y; int x = 10; Turtle t, s; Turtle t=new Turtle(); Turtle t, s=new Turtle(), u; Erklæring af variabler kan ske på mange måder:
10
i o p o DAIMI, AU, Oktober 1999Introducerende objektorienteret programmering3E.10 EBNF-definition variable-declaration ::= identifier declaration-part { “,” declaration-part } “;” declaration-part ::= identifier [ initialization-part ] initialization-part ::= “=“ expression expression ::=...
11
i o p o DAIMI, AU, Oktober 1999Introducerende objektorienteret programmering3E.11 Test int x, y; int x = 10; Date d = new Date(); Turtle t, s = new Turtle(), u; int x = new Turtle(); Turtle t = new Date(), s = 10; Er følgende syntaktisk korrekt?
Lignende præsentationer
© 2024 SlidePlayer.dk Inc.
All rights reserved.