Re: Kako doci do tipa promenljive?
>
> Kako se dolazi do tipa promenljive u sledecem CUP skriptu?
>
> var_decl ::= VAR type var_list SEMI ;
> var_list ::= var_list COMMA var_part;
> var_list ::= var_part ;
> var_part ::= IDENT:val {:
> Util.sem.checkVariableDeclaration(?TYPE?,val); :} ;
Ne mozes u okviru var_part da pozivas checkVariableDeclaration jer se var_part smenjuje pre var_decl pa ti u tom momentu nije poznat tip promenljivih.
Ja sam ovo resio tako sto sam u Util-u uveo pomocnu promenljivu spajiz tipa ArrayList, pa onda u smeni za var_part kazes nesto tipa spajiz.add(val).
Sledece sto treba da uradis je da dodas u smeni var_decl neki identifikator posle type(npr. ":typ"), da napravis for petlju u akcijama smene i da je provrtis za i = 0 do spajiz.size() i da u okviru petlje pozivas:
Util.sem.checkVariableDeclaration((Struct)typ,(String)spajiz.get(i))
ili sta ti vec treba, ali glavna je fora da ces sad imati informaciju o tipu i sacuvana imena svih promenljivih u spajiz-u.
Pozdrav,
Nikola
> Kako se dolazi do tipa promenljive u sledecem CUP skriptu?
>
> var_decl ::= VAR type var_list SEMI ;
> var_list ::= var_list COMMA var_part;
> var_list ::= var_part ;
> var_part ::= IDENT:val {:
> Util.sem.checkVariableDeclaration(?TYPE?,val); :} ;
Ne mozes u okviru var_part da pozivas checkVariableDeclaration jer se var_part smenjuje pre var_decl pa ti u tom momentu nije poznat tip promenljivih.
Ja sam ovo resio tako sto sam u Util-u uveo pomocnu promenljivu spajiz tipa ArrayList, pa onda u smeni za var_part kazes nesto tipa spajiz.add(val).
Sledece sto treba da uradis je da dodas u smeni var_decl neki identifikator posle type(npr. ":typ"), da napravis for petlju u akcijama smene i da je provrtis za i = 0 do spajiz.size() i da u okviru petlje pozivas:
Util.sem.checkVariableDeclaration((Struct)typ,(String)spajiz.get(i))
ili sta ti vec treba, ali glavna je fora da ces sad imati informaciju o tipu i sacuvana imena svih promenljivih u spajiz-u.
Pozdrav,
Nikola
- References:
- Saveti za domaci
- From: "Igor Stojkovic" <stojkovic.igor@gmail.com>
- Re: Saveti za domaci
- From: "Jovan Popovic" <jovan@etf.bg.ac.yu>
- Kako doci do tipa promenljive?
- From: Nenad Tesovic <tesovicn@gmail.com>
- Saveti za domaci
Previous by date: Kako doci do tipa promenljive?
Next by date: Re: Za asistenta
Previous by thread: Kako doci do tipa promenljive? Next by thread: RE: Saveti za domaci
Previous by thread: Kako doci do tipa promenljive? Next by thread: RE: Saveti za domaci