Я пытаюсь разобрать ints, но я могу анализировать только многозначные числа, а не однозначные числа.не удалось разобрать ints с antlr
я сузил его до очень небольших лексического и синтаксического анализатора, который я на основе выборки из грамматик antlr.org следующим образом:
# IntLexerTest.g4
lexer grammar IntLexerTest;
DIGIT
: '0' .. '9'
;
INT
: DIGIT+
;
#IntParserTest.g4
parser grammar IntParserTest;
options {
tokenVocab = IntLexerTest;
}
mything
: INT
;
И когда я пытаюсь разобрать цифры 3 все сам по себе, я получаю "строка 1: 0 несогласованный вход '3' ожидает INT". С другой стороны, если я попытаюсь разобрать 33, это нормально. Что я делаю не так?
У меня была такая же проблема, и я не получил ее до конца. Завершено определение правил для одноразрядного INT и многозначного INT отдельно. Не может быть прав, но это все, что я мог сделать, чтобы заставить его работать. – v0rl0n