Rad sa CUP-om prakticno nemoguc
Vec dva dana pokusavam da napravim bilo kakav primer za CUP koji ce on moci
da prepozna.
Posto ni najprostiji primeri sa jednim, dva, i tri terminala i jednim neterminalom nisu proradili krenuo sam da skracujem dati primer koji normalno funkcionise.
Na kraju sam ostavio samo jedan neterminal i sve je i dalje radilo:
non terminal Program;
Program ::= CLASS IDENT
LBPAREN RBPAREN {: System.out.println("Glavna klasa"); :}
;
Fajl je bio sledece sadrzine:
class P
{
}
Ostavio sam cetiri reda terminala:
terminal IDENT, BREAK, CLASS, ELSE, IF, NEW, PRINT;
terminal READ, RETURN, VOID, WHILE, PLUS, MINUS, MULL, DIV, MOD, ISEQ;
terminal NOTEQ, GTER, GEQ, LESS, LEQ, AND, OR, EQUALS, PLUSPLUS, MINUSMINUS;
terminal SEMI, COMMA, DOT, LPAREN, RPAREN, LBRACKET, RBRACKET, LBPAREN, RBPAREN;
Ako se recimo 2. i 3. red premeste ispod 4. onda sve prestaje da radi.
Takodje, ako se obrise terminal SEMI (koji se u opste ne koristi), sve opet prestaje da radi.
U dokumentaciji se ne pominju pravila vezana za redoslede, definisanje nepostojecih terminala, itd. Ja ne umem da gatam tako da ne znam kako da krenem da radim ovaj domaci. Ne zelim da probam sve rasporede definisanih terminala jer je broj permutacija ogroman.
Posto ni najprostiji primeri sa jednim, dva, i tri terminala i jednim neterminalom nisu proradili krenuo sam da skracujem dati primer koji normalno funkcionise.
Na kraju sam ostavio samo jedan neterminal i sve je i dalje radilo:
non terminal Program;
Program ::= CLASS IDENT
LBPAREN RBPAREN {: System.out.println("Glavna klasa"); :}
;
Fajl je bio sledece sadrzine:
class P
{
}
Ostavio sam cetiri reda terminala:
terminal IDENT, BREAK, CLASS, ELSE, IF, NEW, PRINT;
terminal READ, RETURN, VOID, WHILE, PLUS, MINUS, MULL, DIV, MOD, ISEQ;
terminal NOTEQ, GTER, GEQ, LESS, LEQ, AND, OR, EQUALS, PLUSPLUS, MINUSMINUS;
terminal SEMI, COMMA, DOT, LPAREN, RPAREN, LBRACKET, RBRACKET, LBPAREN, RBPAREN;
Ako se recimo 2. i 3. red premeste ispod 4. onda sve prestaje da radi.
Takodje, ako se obrise terminal SEMI (koji se u opste ne koristi), sve opet prestaje da radi.
U dokumentaciji se ne pominju pravila vezana za redoslede, definisanje nepostojecih terminala, itd. Ja ne umem da gatam tako da ne znam kako da krenem da radim ovaj domaci. Ne zelim da probam sve rasporede definisanih terminala jer je broj permutacija ogroman.
- References:
- Re: Pitanje za asistenta
- From: "Jovan Popovic" <jovan@etf.bg.ac.yu>
- FOR petlja -pitanje za asistenta
- From: Goran Rakocevic <goxy_83@yahoo.com>
- Re: FOR petlja -pitanje za asistenta
- From: "Jovan Popovic" <jovan@etf.bg.ac.yu>
- Re: FOR petlja -pitanje za asistenta
- From: Marko Stankovic <stankovic.marko@gmail.com>
- Re: Pitanje za asistenta
Previous by date: Pitanje za domaci
Next by date: Novogodisnja cestitka.
Previous by thread: Najosnovnija gramatika Next by thread: za profesora | asistenta
Previous by thread: Najosnovnija gramatika Next by thread: za profesora | asistenta