Описание тега lexer
Программа, преобразующая последовательность символов в последовательность токенов.
2
ответа
Островная грамматика antlr3
Что такое и как использовать "островную грамматику" в antlr3?
01 апр '10 в 14:51
1
ответ
Не леворекурсивная грамматика PEG для "выражения"
Это либо простой идентификатор (например, cow) что-то, заключенное в скобки ((...)) что-то похожее на вызов метода (...(...)) или что-то похожее на членский доступ (thing.member): def expr = identifier | "(" ~> expr <~ ")" | expr ~ ("(" ~> …
14 ноя '12 в 06:37
1
ответ
Гибкий сгенерированный файл не может быть использован?
Я использую Flex Lexer в качестве лексера для моего проекта компилятора, и у меня есть эта функция, чтобы изменить поток ввода лексера следующим образом: .l void initLexer(string code) { lineNumber = 1; columnNumber = 0; currentStringIndex = 0; yy_d…
27 май '11 в 11:57
1
ответ
wxPython StyleSetSpec и SetLexer не работают?
Хорошо, давайте перейдем прямо к делу. Я получил 2 вопроса1. Почему не работает self.StyleSetSpec(stc.STC_STYLE_DEFAULT, "fore:#000000" + FontSet)? 2. Почему пользовательский лексер не применяется? Это исходный код import wx, re, keyword from wx imp…
13 май '12 в 09:10
1
ответ
Парсер против лексера и XML
Сейчас я читаю об архитектуре компиляторов и синтаксических анализаторов и меня интересует одна вещь... Когда у вас есть XML, XHTML, HTML или любой язык на основе SGML, какова будет роль лексера здесь и какие будут токены? Я читал, что токены похожи…
02 сен '10 в 02:07
1
ответ
ANTLR источник для вывода
Я пытаюсь реализовать что-то вроде функции контрактов кода для JavaScript в качестве задания для одного из моих курсов. У меня проблема в том, что я не могу найти способ вывести исходный файл прямо на консоль без изменения всей грамматики. Кто-нибуд…
06 ноя '11 в 22:21
3
ответа
Минимизация DFA
У меня есть вопрос о минимизации DFA. Поэтому я использовал очень хорошо известные методы для преобразования регулярного выражения в NFA, а затем для создания DFA из него, используя алгоритм goto / closure. Теперь вопрос, как мне минимизировать это?…
21 июн '12 в 05:56
1
ответ
Antlr4 игнорирует токены
В ANTLR 4 я пытаюсь проанализировать текстовый файл, но некоторые из моих определенных токенов постоянно игнорируются в пользу других. Я привел небольшой пример, чтобы показать, что я имею в виду: Файл для разбора: hello world hello world Грамматика…
25 окт '14 в 20:54
1
ответ
Удалить пробелы, но так ли это в прошлом?
Я пытаюсь проанализировать Lua, который в некоторых случаях зависит от пробелов, поскольку он не использует скобки для области видимости. Я полагаю, что выбрасывать пробелы, только если другое правило не соответствует, является лучшим способом, но я…
10 дек '09 в 03:17
1
ответ
Исправление ссылки на электронную таблицу ($a$1, $a1, $ 1 и т. Д.) В грамматике ANTLR
Я работаю над редактированием функций для веб-таблицы, где мне нужно определить ссылки на ячейки, ссылки на диапазоны, а затем раскрасить их в соответствии с моим требованием. Я могу идентифицировать и раскрасить ссылки на ячейки, но не смог идентиф…
15 янв '13 в 12:06
3
ответа
Как определить токен, который является всеми этими символами в наборе A, кроме символов в подмножестве B?
В RFC2616 (HTTP / 1.1) определение "токена" в разделе "2.2 Основные правила" дано как: token = 1*<any CHAR except CTLs or separators> Из этого раздела у меня есть следующие фрагменты, и теперь я хочу определить "TOKEN": lexer grammar AcceptEnc…
31 авг '15 в 05:44
2
ответа
Повысить дух динамический лексер с номерами столбцов?
У меня проблемы с созданием динамического лексера повышения, который отслеживает номер столбца. Это возможно? Кто-нибудь может привести простой пример? Спасибо!
11 ноя '11 в 21:13
2
ответа
Готова ли генерация кода C++ в ANTLR 3.2?
Я изо всех сил пытался заставить ANTLR 3.2 генерировать парсер / лексер в C++. Это было бесплодно. С Java & C дела шли хорошо. Я использовал этот учебник, чтобы начать: http://www.ibm.com/developerworks/aix/library/au-c_plusplus_antlr/index.html Ког…
02 дек '09 в 08:46
3
ответа
Парсинг выражений xpath
Я хочу разобрать выражения XPath Я ищу реализацию лексера / парсера в C++ или Python Вот вся информация о парсерах XPath, которые мне удалось собрать: ANTLR грамматика для XPath 1 и 2 (из Parse XPath Expressions) парсер и лексер Python из PDIS неско…
28 июн '11 в 21:02
1
ответ
OCaml для чтения файлов
Я определяю язык в ocaml с ocamllex и ocamlyacc. Входными данными для этого языка является поток целых из файла, например: 1 2 3
17 мар '16 в 09:34
4
ответа
Лексеры / парсеры для (не) структурированных текстовых документов
Существует множество синтаксических анализаторов и лексеров для скриптов (т.е. структурированных компьютерных языков). Но я ищу тот, который может разбить (почти) неструктурированный текстовый документ на большие разделы, например, главы, абзацы и т…
18 янв '10 в 16:57
4
ответа
Создание списка Lexer/Parser
Мне нужно создать лексер / парсер, который имеет дело с входными данными переменной длины и структуры. Скажем, у меня есть список зарезервированных ключевых слов: keyWordList = ['command1', 'command2', 'command3'] и строка ввода пользователя: userIn…
15 янв '12 в 00:07
2
ответа
Как объединить два AST?
Я пытаюсь реализовать инструмент для объединения различных версий исходного кода. Учитывая две версии одного и того же исходного кода, идея будет заключаться в том, чтобы проанализировать их, сгенерировать соответствующие деревья абстрактного источн…
15 окт '12 в 08:49
1
ответ
Как использовать значение токена лексера ANTLR в условной перезаписи правила
Я новичок в ANTLR и хотел бы сделать следующее: Учитывая приведенный ниже фрагмент грамматики, у меня есть правило выбора * сравнение_оп *, которое может соответствовать одному из многих токенов. Я хотел бы написать правила условного перезаписи, нап…
22 янв '13 в 00:07
1
ответ
Таблица 2 направлений (строка <-> токен) в разборе
Я определил хеш-таблицу keyword_table хранить все ключевые слова моего языка. Вот часть кода: (* parser.mly *) %token CALL CASE CLOSE CONST ... reserved_identifier: | CALL { "Call" } | CASE { "Case" } | CLOSE { "Close" } | CONST { "Const" } ... (* l…
15 окт '13 в 21:54