Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

I o p o DAIMI, AU, Oktober 1999Introducerende objektorienteret programmering3E.1 Syntaksbeskrivelse Udtryk og Java-programmer.

Lignende præsentationer


Præsentationer af emnet: "I o p o DAIMI, AU, Oktober 1999Introducerende objektorienteret programmering3E.1 Syntaksbeskrivelse Udtryk og Java-programmer."— Præsentationens transcript:

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?


Download ppt "I o p o DAIMI, AU, Oktober 1999Introducerende objektorienteret programmering3E.1 Syntaksbeskrivelse Udtryk og Java-programmer."

Lignende præsentationer


Annoncer fra Google