Я пишу программу в java cc, где создаю компилятор. Я написал код в файле .jj, где я определил токены и синтаксический анализатор, но в конце файла программа сообщает об ошибке, не знаю почему. Пожалуйста, помогите мне исправить это.Java Cc tokens и парсер
void Start() : {}
{
(
INTEGER_CONSTANT
| STRING_CONSTANT
| LOGIC_CONSTANT
| NOT
| IF
| END
| SUB
| LET
| CALL
| THEN
| CASE
| ELSE
| INPUT
| PRINT
| SELECT
| STATIC
| IDENTIFIER
)*
<EOF>
}
У меня есть следующее сообщение об ошибке:
org.javacc.parser.ParseException: Encountered " "INTEGER_CONSTANT " "|" "| " "STRING_CONSTANT " "|" "| " "LOGIC_CONSTANT " "|" "| " "NOT " "|" "| " "IF " "|" "| " "END " "|" "| " "SUB " "|" "| " "LET " "|" "| " "CALL " "|" "| " "THEN " "|" "| " "CASE " "|" "| " "ELSE " "|" "| " "INPUT " "|" "| " "PRINT " "|" "| " "SELECT " "|" "| " "STATIC " "|" "| " "IDENTIFIER " ")" ") " "" " "" at line 91, column 7.
Я думаю, что вы просто забыли поставить угловые скобки вокруг имен типов маркеров. Например, это должно быть '' вместо 'INTEGER_CONSTANT'. –