Потребление символов в лексическом анализе

Если у меня есть такое подправило:

.. (~']' ~']')* ...

будет ли он соответствовать только четному количеству символов?


person RCIX    schedule 10.12.2009    source источник


Ответы (1)


(Предполагается, что точки не являются метасимволами)

Не совсем, он будет соответствовать нулю или четному количеству символов.

ИЗМЕНИТЬ

Чтобы соответствовать блоку цитаты, сделайте что-то вроде этого:

QUOTE
    :    '[[' (options {greedy=false;} : . )*  ']]'
    ;

Предполагая, что [[ some text here ]] - это блок кавычек.

person Bart Kiers    schedule 10.12.2009
comment
Ой. Ну, я пытаюсь сопоставить конец цитаты, как бы вы это сделали? Я новичок в ANTLR :) - person RCIX; 10.12.2009
comment
Я пробую это (options{greedy=false;}:.)*, это сработает в моей предполагаемой роли? - person RCIX; 10.12.2009
comment
Спасибо за помощь, очень признателен :) - person RCIX; 10.12.2009
comment
Кроме того, каким-то образом вы попадаете в точный синтаксис lua для строковых литералов, и так уж получилось, что я использовал то же правило для его анализа, поэтому у меня есть вопрос: не могли бы вы отказаться от этой надоедливой лицензии CC-Wiki для этого небольшого фрагмента кода? - person RCIX; 10.12.2009
comment
Вы можете использовать все, что я публикую на SO, так, как считаете нужным. - person Bart Kiers; 10.12.2009
comment
Круто, спасибо, это высоко ценится, и я добавлю благодарности к моему файлу грамматики, благодаря вам: D - person RCIX; 11.12.2009