Для ограничения ввода четырех цифр в лексическом анализаторе Lex используется следующая конструкция: [0-9]{4}. Как ограничить ввод, так что бы ввести можно было только четыре в ANTLR4?
Ввести каждую цифру отдельно
long_num
: NUM NUM NUM NUM
;
NUM
: '0'..'9'
;
или можно использовать предикаты
long_num
: {input.LT(1).getText().length() == 20}? NUM
;
NUM
: '0'..'9'
;
Сборка персонального компьютера от Artline: умный выбор для современных пользователей