Re: invalid token
Primer domaceg sa vezbi:
3. Automatski generisan fajl sym.java sadrži sve konstante koje su potrebne za rad leksičkog analizatora koji je ranije napravljen, osim jedne, i to konstante INVALID. Potrebno je da i nju definišemo u klasi sym i sačuvamo tu promenu. Kada smo to završili, uradićemo prevođenje:
C:\Java>javac ppdz/sym.java
4. Pošto smo napravili i preveli novu varijantu klase sym, moraćemo ponovo da prevedemo izvorni kod leksičkog analizatora:
C:\Java>javac ppdz/MJlexer.lex.java
5. Prevodimo fajl parser.java:
C:\Java>javac ppdz/parser.java
>
> Imam i sledeci problem:
> U lex fajlu poslednja linija je da skener sve ono sto nije prepoznao
> vrati kao INVALID token. Konstantu INVALID sam naravno definisao u
> sym.java fajlu. Kada kasnije pokrenem cup on napravi novi sym.java sa
> renumerisanim konstantama, ali izostavi INVALID. Zbog toga lex.java
> nece ponovo da se prevede. Problem sam resio tako sto sam u cup fajlu
> definisao i terminal INVALID. Tada ga cup ne brise u novom sym.java.
> Ali to mi ne deluje kao elegantno resenje. Pogotovo sto mi cup daje
> warning na terminal INVALID nigde nije upotrebljen... Drugo resenje bi
> mozda bilo da peske ubacim u novi sym.java nedostajucu konstantu. Ali
> ni to mi ne deluje elegantno... Moze li neko pomoci?
P.S.
a = - - -b;
bi trebalo (cini mi se) i mikrojava da prihvati..
3. Automatski generisan fajl sym.java sadrži sve konstante koje su potrebne za rad leksičkog analizatora koji je ranije napravljen, osim jedne, i to konstante INVALID. Potrebno je da i nju definišemo u klasi sym i sačuvamo tu promenu. Kada smo to završili, uradićemo prevođenje:
C:\Java>javac ppdz/sym.java
4. Pošto smo napravili i preveli novu varijantu klase sym, moraćemo ponovo da prevedemo izvorni kod leksičkog analizatora:
C:\Java>javac ppdz/MJlexer.lex.java
5. Prevodimo fajl parser.java:
C:\Java>javac ppdz/parser.java
>
> Imam i sledeci problem:
> U lex fajlu poslednja linija je da skener sve ono sto nije prepoznao
> vrati kao INVALID token. Konstantu INVALID sam naravno definisao u
> sym.java fajlu. Kada kasnije pokrenem cup on napravi novi sym.java sa
> renumerisanim konstantama, ali izostavi INVALID. Zbog toga lex.java
> nece ponovo da se prevede. Problem sam resio tako sto sam u cup fajlu
> definisao i terminal INVALID. Tada ga cup ne brise u novom sym.java.
> Ali to mi ne deluje kao elegantno resenje. Pogotovo sto mi cup daje
> warning na terminal INVALID nigde nije upotrebljen... Drugo resenje bi
> mozda bilo da peske ubacim u novi sym.java nedostajucu konstantu. Ali
> ni to mi ne deluje elegantno... Moze li neko pomoci?
P.S.
a = - - -b;
bi trebalo (cini mi se) i mikrojava da prihvati..
- Follow-Ups:
- invalid token, unarni minus & condition
- From: Marko Gacesa <gamax@EUnet.yu>
- invalid token, unarni minus & condition
- References:
- invalid token
- From: Marko Gacesa <gamax@EUnet.yu>
- invalid token
Previous by date: pitanje za asistenta
Next by date: Re: pitanje za asistenta
Previous by thread: invalid token Next by thread: invalid token, unarni minus & condition
Previous by thread: invalid token Next by thread: invalid token, unarni minus & condition