La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

 classdecl  c  com ,   classdecl  c >  com  classdecl ,   classdecl (prog) Il programma.

Presentazioni simili


Presentazione sul tema: " classdecl  c  com ,   classdecl  c >  com  classdecl ,   classdecl (prog) Il programma."— Transcript della presentazione:

1  classdecl  c  com ,   classdecl  c >  com  classdecl ,   classdecl (prog) Il programma

2   c ’   c ”   c ’   c ”

3   s [ /m]   s [ /m]   s ’   s ”   s ’   s ” < MetDef MetDefList,  s   s ”  istdecl  [  /x]  istdecl  [  /x]   ”   ’   ”   ”   ” (instdecl) Definizioni: Variabili d’istanza e metodi d’istanza (instdeclist) (MetDef) (MDL)

4   s [ /m]   s [ /m]   s ’   s ”   s ’   s ” < StaticMetDef StaticMetDefList,  s   s ” < StaticMetDef StaticMetDefList,  s   s ” (SMD) (SMDLl) Definizioni: Metodi statici

5 Statments: StmtList e Blocco  com >  com  com  com >  com  com  com >  com > (Block) (StmtList)

6 Dichiarazioni: variabili  ”  ’  [  /x]   ”  ’  [  /x]   dcl >  dcl  = .  ’ >   exp >  exp  ”  ’  [v/x]  ”  dcl >  dcl (var1) (var2) (var1obj)

7 >  exp  (x)≠  >  com  (o)= l  ’ ( l )=  ’ =  [v/x] >   (o)= l  ’ ( l )=  ’ =  [v/x] >  (o.x=) Comandi: Assegnamento (=)

8  exp  cmd >  exp >  cmd  com >  com  exp  cmd >  exp >  cmd  com  com (if-tt) (if-ff) Comandi: if

9  exp >  exp  com >  com  com  exp >  com  com  com >  com (W-ff) (W-tt) Comandi: while

10  c (ideC)=  s (m)= >   c (ideC)=  s (m)=   >  Comandi: invocazione di un metodo statico invocazione di un metodo statico (non calcola un valore) invoc

11 >   (o)=l  (l)=  c (c)=  m (m)=  c (c)=  m (m)=   >  Comandi: invocazione di un metodo d’istanza (non calcola un valore) invoc

12 >  >   [v/retVal],  ’> (return) Comandi: return

13 >  exp >  exp v [op] v’ = v” >  exp >  exp op v=v’ >  exp  (x)= b  >  exp   >  exp (B Ide ) (B | ) (BE op ) (B const ) Espressioni

14  c (c) = l = newloc (  )  c (c) = l = newloc (  ) >  /l ]>  (o)=l  (l)=  (o)=l  (l)= >  new Espressioni : oggetti o.x

15  s (m)= >   c (ideC)=  s (m)= >  >   [v/retVal],  ’> (return) Espressioni : invocazione di un metodo statico (che calcola un valore) invoc (Exp)

16 >   (o)=l  ’(l)=  c (ideC)=  m (m)=  c (ideC)=  m (m)= >  Espressioni: invocazione di un metodo d’istanza (che calcola un valore, no exp per oggetto) invoc (Exp)

17 >  >   ”(l)=  c (ideC)=  m (m)=  ”(l)=  c (ideC)=  m (m)= >  Espressioni: invocazione di un metodo d’istanza (che calcola un valore, con oggetto espressione) invoc (Exp)

18 >   ’(l)= >  Espressioni : oggetti (con oggetto espressione) o.x

19 >  >   ”’(l)=  c (c)=  m (m)=  ”’(l)=  c (c)=  m (m)=   >  Comandi: invocazione di un metodo d’istanza (non calcola un valore con oggetto espressione ) invoc

20 Esempio e uso di this prog{class Foo{ public int x; public int y; public boolean equal (Foo o) { return ((this.x==o.x)&(this.y==o.y)} public Foo copy(){ Foo og =new Foo(); og.x=this.x; og.y=this.y;} {Foo og1=new Foo(); og1.x=6; og1.y=0; Foo og2=og1.copy(); }}


Scaricare ppt " classdecl  c  com ,   classdecl  c >  com  classdecl ,   classdecl (prog) Il programma."

Presentazioni simili


Annunci Google