Результаты поиска по запросу "antlr3"
Как сопоставить строку, но без учета регистра?
Допустим, я хочу соответствовать «пиву», но не заботиться о чувствительности к регистру. В настоящее время я определяю токен как ('b' | 'B' 'e' | 'E' 'e' | 'E' 'r' | 'R'), но у меня их много, и на самом деле это не так. хочу справиться с ...
Как собирать ошибки во время выполнения, предоставляемые анализатором в Antlr4
Я обновил Antlr 3 до Antlr 4. Я использовал этот код для отлова исключений с помощью этого кода. Но это не работает для Antlr 4. partial class XParser { public override void ReportError(RecognitionException e) { base.ReportError(e); ...
соответствует. Если память мне не помешает, 2-е сопоставляется раньше 1-го, потому что вы включили опцию backtrack, позволяющую парсеру максимально соответствовать: соответствие 1-му подправилу, а затем обратное отслеживание до 2-го подправила и придерживаясь этого, потому что он больше соответствует (но я не уверен на 100% в этом: если вы публикуете в списке рассылки, не забудьте также спросить об этом! :)). И, конечно, добро пожаловать!
рвых, я знаю, что эта грамматика не имеет смысла, но она была создана, чтобы проверить поведение приоритета правила ANTLR grammar test; options { output=AST; backtrack=true; memoize=true; } rule_list_in_order : ( first_rule | second_rule | ...
Предположим, что 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, ...
Как мне сделать TreeParser в ANTLR3?
Я пытаюсь изучить синтаксический анализ языка для удовольствия ... Я создал грамматику ANTLR, которая, я считаю, будет соответствовать простому языку, который я надеюсь реализовать. Он будет иметь следующий синтаксис: <FunctionName> ( ...
например, я хочу преобразовать (! 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 : ...
Извините, только снял вопрос. OP-теги Scala (которые не работают ни в каком смысле в чистом смысле), ANTLR предоставляет парсер, используемый в Scala. Ваша точка зрения, тем не менее.
етил явное отсутствие парсеров LL, которые создают парсеры на функциональных языках. Идеальная находка для того, что я искал безуспешно, - это создание парсера на Haskell для LL (*) грамматики в стиле ANTLR (по модулю незначительного ...
Спасибо за ответ, я использую C # сам, но я отказался от Antler для лекселя / парсера с ручным кодированием, отчасти потому, что у antler какое-то время было много проблем с целью C #, но также и потому, что у antler есть проблемы, когда наш "язык" встроенный в необработанный текст, такой как HTML или JavaScript. Antler (или, по крайней мере, насколько я могу судить) лучше всего подходит для более строгого синтаксиса.
ользую обычное разделение пробелов в скрытом канале, но у меня есть одно правило, в котором я хотел бы включить любые пробелы для дальнейшей обработки, но любой найденный пример требует очень странного ручного кодирования. Нет ли простой опции ...
Под «Внутренним DSL» я подразумевал, что определение грамматики является внутренним DSL.
у парсер выражений для приложения, написанного в основном на Scala. Я построил объекты AST в Scala, и теперь мне нужно написать анализатор. Я слышал о встроенных в Scala комбинаторах синтаксического анализа, а также об ANTLR3, и мне интересно: ...
Я в тебя верю
исал грамматику ANTLR3, разделенную на более мелкие правила для повышения читабельности. Например: messageSequenceChart: 'msc' mscHead bmsc 'endmsc' end ; # Where mscHead is a shortcut to : mscHead: mscName mscParameterDecl? timeOffset? ...