0
ответов

Неоднозначность вложенного универсального синтаксиса >>

Судя по всему, C# так же чувствителен к дилемме лексера '>>', как и C++. Этот код C# вполне корректен, он компилируется и работает просто отлично: var List = new Dummy("List"); var Nullable = новый фиктивный ("Обнуляемый"); ...
вопрос задан: 23 May 2017 10:34
0
ответов

Написание специального лексера Xtext / ANTLR без файла грамматики

Я пишу плагин Eclipse / Xtext для CoffeeScript, и я понял, что мне, вероятно, понадобится напишите лексер для него вручную. Парсер CoffeeScript также использует рукописный лексер для обработки отступов и ...
вопрос задан: 23 May 2017 10:29
0
ответов

Разбор необязательной точки с запятой в конце оператора

Я писал анализатор для разбора C-подобные грамматики.Во-первых, теперь он может анализировать код вроде: a = 1; б = 2; Теперь я хочу сделать точку с запятой в конце строки необязательной. Первоначальным правилом YACC было: stmt: ...
вопрос задан: 20 September 2014 12:20
0
ответов

OCaml + Menhir Компиляция/Написание

Я полный новичок, когда дело доходит до OCaml. Я только недавно начал использовать язык (около 2 недель назад), но, к сожалению, передо мной стоит задача сделать анализатор синтаксиса (парсер + лексер, ...
вопрос задан: 7 May 2013 12:18
0
ответов

Правильный инструмент для перевода DSL в SQL?

У меня есть доменный язык, который можно перевести на SQL. Должен ли я писать свой собственный лексер, синтаксический анализатор и генератор кода, или есть инструменты, которые могли бы мне помочь?
вопрос задан: 28 December 2012 15:07
0
ответов

наиболее эффективный способ разбора этого языка сценариев

Я реализую интерпретатор для давно -устаревшего языка сценариев текстового редактора, и у меня возникли проблемы с корректной работой лексера. Вот пример проблемной части...
вопрос задан: 19 July 2012 17:23
0
ответов

Связь между лексером и парсером

Каждый раз, когда я пишу простой лексер и парсер, я натыкаюсь на один и тот же вопрос :как должны взаимодействовать лексер и парсер? Я вижу четыре разных подхода :Лексер жадно конвертирует весь...
вопрос задан: 9 July 2012 15:00
0
ответов

Почему этот ассемблерный код быстрее?

Я экспериментировал с лексером и обнаружил, что переключение с цикла while -на оператор if -и цикл do -while -в одной части программы приводит к ~20 % более быстрый код, который казался сумасшедшим. Я изолировал...
вопрос задан: 1 July 2012 21:38
0
ответов

Как создать AST вручную?

В настоящее время я изучаю синтаксический анализ, но немного не понимаю, как генерировать AST. Я написал синтаксический анализатор, который правильно проверяет, соответствует ли выражение грамматике (он молчит, когда...
вопрос задан: 23 April 2012 07:54
0
ответов

ANTLR Как использовать правила лексера с одинаковым началом?

Как использовать правила лексера с одинаковым началом? Я пытаюсь использовать два похожих правила лексера (, имеющих одинаковое начало ):TIMECONSTANT:('0'..'9' )+ ':' ('0'..'9 ' )+; ЦЕЛОЕ ЧИСЛО:('0'..'9' )+; COLON :...
вопрос задан: 6 April 2012 06:06
0
ответов

Управление состояниями лексера Python PLY из синтаксического анализатора

Я работаю над простым SQL-выбором, таким как синтаксический анализатор запросов, и мне нужно иметь возможность буквально захватывать подзапросы, которые могут возникать в определенных местах. Я обнаружил, что состояния лексера являются лучшим решением, и
вопрос задан: 28 March 2012 05:49
0
ответов

ANTLR Какой самый простой способ реализовать в python грамматику с отступами?

Я пытаюсь реализовать в python грамматику с отступами. Исходный пример: ABC QWE CDE EFG EFG CDE ABC QWE ZXC Как я вижу, мне нужно реализовать две лексемы INDENT и DEDENT, поэтому я могу ...
вопрос задан: 27 December 2011 07:53
0
ответов

Символы, соответствующие нескольким правилам лексера в ANTLR

Я определил несколько правил лексера, которые потенциально соответствуют одной и той же последовательности символов. Например: LBRACE: '{'; RBRACE: '}'; LPARENT: '('; RPARENT: ')'; LBRACKET: ' ['; RBRACKET:'] '; ...
вопрос задан: 24 September 2011 12:53
0
ответов

Как я могу упростить DFA прогнозирования токенов?

Lexer DFA приводит к ошибке «слишком большой код». Я пытаюсь проанализировать серверные страницы Java с помощью ANTLR 3. Java имеет ограничение в 64 КБ для байтового кода одного метод, и я продолжаю сталкиваться с "кодом ...
вопрос задан: 22 September 2011 15:34
0
ответов

Лексер, распознающий отступы блоки

Я хочу написать компилятор для языка, который обозначает программные блоки пробелами, как в Python. Я предпочитаю делать это на Python, но C ++ тоже возможен. Есть ли лексер с открытым исходным кодом, который ...
вопрос задан: 1 August 2011 19:28
0
ответов

Это работа Лексера по паритету se Числа и строки?

Разбирать числа и строки - это задача лексера? Это может показаться глупым, а может и нет, учитывая тот факт, что я спрашиваю, должен ли лексер анализировать ввод. Однако я не уверен, действительно ли это ...
вопрос задан: 12 June 2011 04:33
0
ответов

Написание инструмента форматирования кода для языка программирования

Я изучаю возможность написания инструмент форматирования кода для языка Apex, вариант Java для Salesforce.com и perhams VisualForce, его язык разметки на основе тегов. Я понятия не имею о ...
вопрос задан: 6 June 2011 21:29
0
ответов

Где я могу узнать основы написания лексера?

Я хочу научиться писать лексер. В моем университетском курсе было задание, в котором мы должны были написать синтаксический анализатор (и лексер для его выполнения), но это было дано нам без каких-либо инструкций или обратной связи (...
вопрос задан: 2 June 2011 15:27
0
ответов

Генерация AST исходного файла PHP

Я хочу преобразовать исходный файл PHP в AST (желательно как вложенный массив инструкций). Я в основном хочу преобразовать такие вещи, как f ($ a, $ b + 1), во что-то вроде array ('function_call', ...
вопрос задан: 27 May 2011 14:24
0
ответов

Является ли слово «лексический анализатор» синонимом слова «анализатор»?

В заголовке содержится вопрос: слова «лексический анализатор» и "парсер" синонимы, или они разные? Кажется, что Википедия использует эти слова как синонимы, но английский - не мой родной язык, поэтому я не могу ...
вопрос задан: 9 May 2011 18:46
0
ответов

Как заставить правило парсера Antlr читать как по умолчанию, так и из скрытого канала

Я использую обычное разделение пробелов в скрытом канале, но у меня есть одно правило, в котором я хотел бы включить любые пробелы для последующей обработки, но любой пример, который я нашел, требует очень ...
вопрос задан: 21 April 2011 08:59
0
ответов

Рекурсивный анализатор спуска для чего-то простого?

Я пишу синтаксический анализатор для языка шаблонов, который компилируется в JS (если это актуально). Я начал с нескольких простых регулярных выражений, который, казалось, работает, но регулярные выражения очень хрупкие, поэтому я решил ...
вопрос задан: 3 April 2011 19:35
0
ответов

When parsing Javascript, what determines the meaning of a slash?

Javascript has a tricky grammar to parse. Forward-slashes can mean a number of different things: division operator, regular expression literal, comment introducer, or line-comment introducer. The ...
вопрос задан: 1 April 2011 22:38
0
ответов

Как написать (shell) лексер вручную

Я работаю над оболочкой, небольшой оболочкой, похожей на bash, без сценариев (если while ...) Я должен сделать лексер / парсер (LL) вручную. Таким образом, лексер преобразует команду (char * cmd) в связанный список (...
вопрос задан: 30 March 2011 20:13
0
ответов

Где мне провести черту между лексером и парсером?

Я пишу лексер для протокола IMAP в образовательных целях и не понимаю, где мне провести черту между лексером и парсером. Возьмем этот пример ответа сервера IMAP: * FLAGS (\ ...
вопрос задан: 19 March 2011 13:03
0
ответов

Приоритет лексера ANTLR3

Я хочу создать токен из ".." в Лексер ANTLR3, который будет использоваться для объединения выражений типа a..b // [1] c .. x // [2] 1..2 // [3] 3 .. 4 // [4] Итак, я добавил, ...
вопрос задан: 15 October 2010 13:03
0
ответов

ANTLR: Сканирование символов Unicode

Проблема: Не удается получить символ Unicode для правильной печати. Вот моя грамматика: options {k = 1; Фильтр = TRUE; // Разрешить любой символ кроме \ uFFFF (16 бит -1) charVocabulary = '\ u0000' .. '\ uFFFE'; } ANYCHAR: '$' ...
вопрос задан: 7 September 2010 10:35
0
ответов

Как проанализировать шаблонные языки в Ragel?

Я работал над синтаксическим анализатором для простого шаблонного языка. Я использую Ragel. Требования скромны. Я пытаюсь найти [[отмечает]], который может быть встроен где угодно во входной строке. Я пробую...
вопрос задан: 26 July 2010 01:24