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

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

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

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


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


Ответы (1)


arrow_upward
1
arrow_downward

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

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

ИЗМЕНИТЬ

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

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