В настоящее время я работаю на простом языке с парсером, используя JavaCC, Eclipse и JTB. Я делаю это для обучения. Когда я бегу .java файл, он дает мне следующую ошибку:Ошибка «Encountered», которой не должно быть
Encountered " "var" "var "" at line 2, column 5.
Was expecting: ":" ...
Но когда я смотрю через мой код не существует такой вещи, в строке 2 ?? !! Я знаю, что эта ошибка не должна быть там я отладка из-за предыдущую ошибку в течение 2-х часов, как сейчас ...
РЕДАКТИРОВАНИЯ это мой лексема код, который включает в себя «вар»:
TOKEN :
{
< REQUIRE: "require" >
| < IF: "if" >
| < WHILE:"while" >
| < VAR:"var" >
| < STOP:"stop" >
| < EXEC:"exec" >
| < ELSE:"else" >
}
и это определение правила для "вара":
void VariableDeclaration():{}
{
"var" VariableName() "=" MathExpression() "."
}
void VariableAssign():{}
{
VariableName() "=" MathExpression() "."
}
Надеется, что это помогает :)
Можете вставить код, который вы хотите прочитать? По крайней мере, первый бит? – Pokechu22
@ Pokechu22 первые строки? sure – ANON
Появляется ошибка, потому что парсер столкнулся с токеном «var», когда ожидал один из множества токенов, который не включает «var». Если вам нужен лучший ответ, вам придется опубликовать как текст ввода, так и соответствующую часть грамматики. Если вы включите отладку парсера, вы точно увидите, что происходит для вас. –