-1
Когда я печатаю java AssignStatement
Почему я получаю неправильный результат при вводе данных от пользователя с помощью инструмента javacc при анализе заявления?
a=10+20*30
он меня просит ввести еще одно заявление, после чего я получил
проверки синтаксиса не удалось
Как принимать входные данные от пользователя или через файл? Вот мой Исходный код:
PARSER_BEGIN(AssignStatement)
public class AssignStatement
{
public static void main(String s[])
{
try
{
AssignStatement as=new AssignStatement(System.in);
as.StartSymbol();
System.out.println("Syntax checking successfully");
}
catch(Throwable e)
{
System.out.println("Syntex checking failed");
e.getMessage();
}
}
}
PARSER_END(AssignStatement)
SKIP: {"" | "\t" | "\n" | "\r" }
TOKEN:{ "(" | ")" | "+" | "*" | ":="| <NUM: (["0"-"9"])+> | <ID:(["0"-"9"])+>
}
void StartSymbol(): {}
{
(AStmt())*<EOF>
}
void AStmt(): {}
{
LOOKAHEAD(2) <ID> "=" AStmt()
| Term() ("+" Term())*
}
void Term(): {}
{
Factor() ("*" Factor())*
}
void Factor(): {}
{
<NUM>
| <ID>
| "(" AStmt() ")"
}
Я сделал следующие исправления, как сказал, и теперь я получаю следующие ошибки, которые я не могу узнать в файле AssignStatement.jj. После того, как я набрал это: C: \ javaccprog \ AssignStatement> java AssignStatement "a = 10 + 20 * 30 "Ошибка Came Syntex проверка failedLexical error в строке 1, столбец 1. Обнаружен:" \ "" (34), после: " –