Результаты поиска по запросу "antlr3"

5 ответов

Как сопоставить строку, но без учета регистра?

Допустим, я хочу соответствовать «пиву», но не заботиться о чувствительности к регистру. В настоящее время я определяю токен как ('b' | 'B' 'e' | 'E' 'e' | 'E' 'r' | 'R'), но у меня их много, и на самом деле это не так. хочу справиться с ...

1 ответ

Как собирать ошибки во время выполнения, предоставляемые анализатором в Antlr4

Я обновил Antlr 3 до Antlr 4. Я использовал этот код для отлова исключений с помощью этого кода. Но это не работает для Antlr 4. partial class XParser { public override void ReportError(RecognitionException e) { base.ReportError(e); ...

1 ответ

 соответствует. Если память мне не помешает, 2-е сопоставляется раньше 1-го, потому что вы включили опцию backtrack, позволяющую парсеру максимально соответствовать: соответствие 1-му подправилу, а затем обратное отслеживание до 2-го подправила и придерживаясь этого, потому что он больше соответствует (но я не уверен на 100% в этом: если вы публикуете в списке рассылки, не забудьте также спросить об этом! :)). И, конечно, добро пожаловать!

рвых, я знаю, что эта грамматика не имеет смысла, но она была создана, чтобы проверить поведение приоритета правила ANTLR grammar test; options { output=AST; backtrack=true; memoize=true; } rule_list_in_order : ( first_rule | second_rule | ...

ТОП публикаций

1 ответ

Предположим, что ID1 может соответствовать некоторым дополнительным символам, которые недопустимы в ID2. Предположим, @. В этом случае identifier2 будет соответствовать этому также. Я не хочу, чтобы identifier2 соответствовал этому.

я есть правила лексера в Antlr3 как: HYPHEN : '-'; TOKEN : HYPHEN CHARS; CHARS : 'a' ..'z';Правило парсера таково: exp : CHARS | some complex expression; parser_rule : exp HYPHEN exp;Если я попытаюсь сопоставить 'abc-abc' с parser_rule, ...

1 ответ

Как мне сделать TreeParser в ANTLR3?

Я пытаюсь изучить синтаксический анализ языка для удовольствия ... Я создал грамматику ANTLR, которая, я считаю, будет соответствовать простому языку, который я надеюсь реализовать. Он будет иметь следующий синтаксис: <FunctionName> ( ...

2 ответа

например, я хочу преобразовать (! p ИЛИ q) в (p -> q), поэтому грамматика Ира помогает мне найти правильную (! p ИЛИ q) или она может просто дать мне неправильную такую, как (r -> ! p ИЛИ q) который есть ((r ->! p) ИЛИ q) ???

емя использования ANTLR 3.3 я изменяю текущую грамматику, чтобы поддерживать входные данные без скобок. Вот первая версия моей грамматики: grammar PropLogic; NOT : '!' ; OR : '+' ; AND : '.' ; IMPLIES : '->' ; SYMBOLS : ('a'..'z') | '~' ; OP : ...

6 ответов

Извините, только снял вопрос. OP-теги Scala (которые не работают ни в каком смысле в чистом смысле), ANTLR предоставляет парсер, используемый в Scala. Ваша точка зрения, тем не менее.

етил явное отсутствие парсеров LL, которые создают парсеры на функциональных языках. Идеальная находка для того, что я искал безуспешно, - это создание парсера на Haskell для LL (*) грамматики в стиле ANTLR (по модулю незначительного ...

1 ответ

Спасибо за ответ, я использую C # сам, но я отказался от Antler для лекселя / парсера с ручным кодированием, отчасти потому, что у antler какое-то время было много проблем с целью C #, но также и потому, что у antler есть проблемы, когда наш "язык" встроенный в необработанный текст, такой как HTML или JavaScript. Antler (или, по крайней мере, насколько я могу судить) лучше всего подходит для более строгого синтаксиса.

ользую обычное разделение пробелов в скрытом канале, но у меня есть одно правило, в котором я хотел бы включить любые пробелы для дальнейшей обработки, но любой найденный пример требует очень странного ручного кодирования. Нет ли простой опции ...

4 ответа

Под «Внутренним DSL» я подразумевал, что определение грамматики является внутренним DSL.

у парсер выражений для приложения, написанного в основном на Scala. Я построил объекты AST в Scala, и теперь мне нужно написать анализатор. Я слышал о встроенных в Scala комбинаторах синтаксического анализа, а также об ANTLR3, и мне интересно: ...

1 ответ

 Я в тебя верю

исал грамматику ANTLR3, разделенную на более мелкие правила для повышения читабельности. Например: messageSequenceChart: 'msc' mscHead bmsc 'endmsc' end ; # Where mscHead is a shortcut to : mscHead: mscName mscParameterDecl? timeOffset? ...