Re: Pitanje - Savet
Inicijalizaciju statichkih promenljivih mozete postaviti i u main
metodu pre nego sto instancirate i pozovete parser. Ako definisete
neku klasu Brojach sa public static poljima nVarDecl za broj
deklaracija, vFuncDecl za broj funkcija onda ta polja mozete
inicijalizovati u main metodi kao:
public static void main(String args[]) throws Exception {
Brojach.nVarDecl = 0;
Brojach.nFuncDecl = 0;
FileReader r = new FileReader(args[0]);
Yylex skener = new Yylex(r);
parser p = new parser(skener);
Symbol s = p.parse();
}
Ovu main metodu mozete staviti u CUP fajl npr u parser code ali je mozete
da je stavite i u posebnu klasu koja ce inicijalizovati i pozvati parser.
Ranije je u domacim bilo problema sa CUP fajlovima u kojima je stavljen
kompletan java kod u akcije, parser code i action code. Ovde je problem u
tome sto CUP samo kopira taj java kod u generisani java fajl pa onda
standardni java kompajler pronalazi greske koje su napravljene u
generisanom fajlu pa vi morate da se vracate u CUP fajl da ih ispravite i
ponovo generisete parser. Debagovanje programa ako koristite eclipse je
skoro nemoguce.
Ako mozete pokusajte da java kod stavite u posebne klase tako da odmah
dobijete greske u kodu i eventualno odmah izdebagujete te greske, pa da
iz CUP fajla samo pozivate metode iz java fajlova.
Pozdrav,
Jovan
>
>> Moze li mi neko reci gde se inicijalizuju vrednosti brojaca za brojanje
>> recimo globalnih promenljivih. Da li u action code-u?
>
> Da.
>
>
>
> -----------------------------------------------------------------
> unsubscribe:
> minimalist@rti.etf.bg.ac.yu?subject=unsubscribe%20ir4pp1
> -----------------------------------------------------------------
>
metodu pre nego sto instancirate i pozovete parser. Ako definisete
neku klasu Brojach sa public static poljima nVarDecl za broj
deklaracija, vFuncDecl za broj funkcija onda ta polja mozete
inicijalizovati u main metodi kao:
public static void main(String args[]) throws Exception {
Brojach.nVarDecl = 0;
Brojach.nFuncDecl = 0;
FileReader r = new FileReader(args[0]);
Yylex skener = new Yylex(r);
parser p = new parser(skener);
Symbol s = p.parse();
}
Ovu main metodu mozete staviti u CUP fajl npr u parser code ali je mozete
da je stavite i u posebnu klasu koja ce inicijalizovati i pozvati parser.
Ranije je u domacim bilo problema sa CUP fajlovima u kojima je stavljen
kompletan java kod u akcije, parser code i action code. Ovde je problem u
tome sto CUP samo kopira taj java kod u generisani java fajl pa onda
standardni java kompajler pronalazi greske koje su napravljene u
generisanom fajlu pa vi morate da se vracate u CUP fajl da ih ispravite i
ponovo generisete parser. Debagovanje programa ako koristite eclipse je
skoro nemoguce.
Ako mozete pokusajte da java kod stavite u posebne klase tako da odmah
dobijete greske u kodu i eventualno odmah izdebagujete te greske, pa da
iz CUP fajla samo pozivate metode iz java fajlova.
Pozdrav,
Jovan
>
>> Moze li mi neko reci gde se inicijalizuju vrednosti brojaca za brojanje
>> recimo globalnih promenljivih. Da li u action code-u?
>
> Da.
>
>
>
> -----------------------------------------------------------------
> unsubscribe:
> minimalist@rti.etf.bg.ac.yu?subject=unsubscribe%20ir4pp1
> -----------------------------------------------------------------
>
- References:
- Pitanje
- From: Aleksandar Matic <maticcoa@yahoo.com>
- Re: Pitanje
- From: markos84@verat.net
- Pitanje
Previous by date: Re: Pitanje
Next by date: Poziv, poziv, poziv metode ... stavlja parametre na stack
Previous by thread: Re: Pitanje Next by thread: Poziv, poziv, poziv metode ... stavlja parametre na stack
Previous by thread: Re: Pitanje Next by thread: Poziv, poziv, poziv metode ... stavlja parametre na stack