как определить правило шаблона, повторяющегося фиксированное количество раз, используя грамматику antlr

Я знаю '+', '?' и '*'. Но что, если я хочу, чтобы что-то повторялось, скажем, 5 раз? Например, если идентификатор должен быть строкой шестнадцатеричных чисел длиной 5?

Чтобы быть более конкретным, я думаю о том, чтобы определить общее правило лексера неограниченной длины, а затем, во время синтаксического анализа, подсчитать, сколько раз оно повторюсь, если он равен 5, то переименовать его как другой тип токена, но как мне это сделать? Или есть какой-нибудь простой способ?

6
задан safarisoul 7 March 2012 в 01:38
поделиться