[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
getting [1,1] expecting: EOF no matter what
Hi there
I'm very new to sablecc, but no matter what I try I alwats get the same error
here is my grammar
Package org.sablecc.baba;
Helpers
digitos = ['0'..'9'];
letras = ['A'..'Z']|['a'..'z'];
caracteres = ' '|digitos|letras;
lf = 10;
cr = 13;
eol = cr lf | cr | lf;
blank = 10 | 10 13 | 9 | ' ';
Tokens
if = 'if';
then = 'then';
else = 'else';
while = 'while';
for = 'for';
end = 'end';
do = 'do';
numero = digitos+;
variable = letras(letras|digitos)*;
endofline = eol;
blanktoken = blank+;
Ignored Tokens
endofline,
blanktoken;
Productions
programa =
lista_decl;
lista_decl =
decl*;
decl =
variable;
lista_instr =
instr*;
instr =
{declaracion} decl |
{if} if variable then lista_instr end |
{while} while variable do lista_instr end
{for} for variable do lista_instr end;
==========================================
and here is the java code I'm using
==========================================
import java.io.FileReader;
import java.io.PushbackReader;
import org.sablecc.baba.lexer.*;
import org.sablecc.baba.node.*;
import org.sablecc.baba.parser.*;
import java.io.*;
public class Main {
public static void main(String args[]) {
if (args.length < 1) {
System.out.println("Usage:");
System.out.println("java Main <filename>");
}
try {
Lexer lexer = new Lexer(new PushbackReader(new
BufferedReader(new FileReader(args[0])),1024));
Parser parser = new Parser(lexer);
Start ast = parser.parse();
}
catch (Exception e) {
System.out.println(e.toString());
}
}
}
-------------
I dont know what I'm doing wrong
any help would be apreciated