Вопросы по теме 'lexical-analysis'

Как превратить поток токенов в дерево синтаксического анализа
У меня есть лексер, который выводит токены из входных данных, но я не уверен, как построить следующий шаг в этом процессе - дерево синтаксического анализа. Есть ли у кого-нибудь хорошие ресурсы или примеры того, как этого добиться?
6768 просмотров

Как разобрать строку в C++
Я хочу разобрать строки, чтобы проверить, имеют ли они указанный синтаксис или нет. Пример: Str = Z344-R565l t Здесь мое требование состоит в том, что после Z должно быть число, а затем - и после этого R должно быть там, за которым...
1165 просмотров
schedule 27.01.2024

Где компилятор тратит большую часть своего времени во время синтаксического анализа?
Я прочитал в книге Sebesta , что компилятор тратит большую часть своего времени на лексирование исходного кода. Итак, оптимизация лексера — необходимость, в отличие от синтаксического анализатора. Если это так, то почему этап лексического анализа...
704 просмотров

Левая рекурсия исключения для E: = EE + | EE- | id
Как избавиться от левой рекурсии для следующей грамматики? E := EE+|EE-|id Используя обычную процедуру: A := Aa|b переводится на: A := b|A' A' := ϵ| Aa Применяя это к исходной грамматике, мы получаем: A = E, a = (E+|E-)...
3068 просмотров

Вставить текст во входной файл в Lex (с C)
Я пытаюсь помочь другу с заданием в колледже, но я немного забыл C an Lex. Дело в том, что мы пытаемся разобрать HTML и соответствующий файл CSS и добавить к тегу его стиль. Eg: HTML <body> </body> CSS...
725 просмотров
schedule 16.04.2022

Как реализовать лексический анализ в Javascript
Привет, народ, спасибо, что читаете В настоящее время я пытаюсь сделать калькулятор в стиле Google. Вы вводите строку, она определяет, можно ли ее вычислить, и возвращает результат. Я медленно начал с основ: + - / * и обработки скобок. Я...
5840 просмотров

Эквивалент gppg/gplex в D?
Когда я работал на C#, я нашел gppg и gplex генераторы парсеров/лексеров идеально подходят для моих нужд. Мне интересно, есть ли что-то подобное для языка программирования D (то есть утилита, которая, учитывая грамматику в BNF или EBNF, выводит...
371 просмотров

Char* как YYSTYPE в flex/bison возвращает только первый символ в токене при использовании с strdup() в лексере
Я использую char* как YYSTYPE в компиляторе, созданном с помощью flex и bison. Линия #define YYSTYPE char* находится в верхней части моего файла грамматики. Некоторым из токенов в моем лексере нужно передать всю строку, которая...
6709 просмотров

Диаграмма состояния/перехода лексического анализа. Какое значение имеет * (звездочка) для отвода указателя вперед?
Я читаю Компиляторы: принципы, методы и инструменты и ничего не понимаю: Кроме того, если необходимо отвести указатель вперед на одну позицию (т. е. лексема не включает в себя символ, который привел нас в состояние принятия), то мы...
1937 просмотров

Может ли ANTLR возвращать строки кода при лексировании?
Я пытаюсь использовать ANTLR для анализа большого набора кода с использованием полной грамматики Java. Поскольку ANTLR необходимо открывать все исходные файлы и сканировать их, мне интересно, может ли он также возвращать строки кода. Я проверил...
1144 просмотров
schedule 12.06.2023

Пользовательский парсер для HTML5 и других языков
Я пытаюсь написать свой собственный парсер (на С#) для (X)HTML5 и всего, что может быть встроено (EcmaScript, CSS) - просто чтобы учиться и получать удовольствие. Хотя я программист среднего уровня, я мало что знаю о парсерах и прочих технических...
360 просмотров
schedule 11.01.2024

ANTLR лучший способ включить метаданные в лексирование/анализ (пользовательские объекты, вид аннотации)
Я планирую включить текстовые метаданные (такие как полужирный , размер шрифта и т. д.) в процессе синтаксического анализа, чтобы улучшить распознавание. Например, у меня есть заданная структура, где слово в отдельной строке word/r/n ,...
1007 просмотров
schedule 22.01.2024

ошибка парсера бизона
Я получаю следующие ошибки в моем файле lex. Я не знаю, почему это происходит. Каждая ошибка связана с каждым токеном, возвращаемым анализатору. lexical.l: In function âyylexâ: lexical.l:29: error: expected expression before â;â token...
1340 просмотров

Советы по созданию контекстно-свободной грамматики
Я новичок в CFG, Может ли кто-нибудь дать мне совет по созданию CFG, который генерирует какой-либо язык Например L = {a m b n | m >= n} Что я получил: S o -> a | aS o | aS 1 | e S 1 -> b | bS 1 | e но я...
83313 просмотров

Flex Lexer — iostream.h и другие
Я пытаюсь использовать Flex для создания сканера. Версия 2.5.4. с веб-сайта http://gnuwin32.sourceforge.net/packages/flex.htm . Я использую пример из руководства Flex . Моя среда - Windows 7 под управлением VS2010. Поэтому я выполняю...
1435 просмотров
schedule 26.06.2023

Получить имя группы с помощью linq из совпадений регулярных выражений
Я пытаюсь создать очень упрощенный лексер, используя регулярное выражение и именованные группы в С #. Я могу получить все совпадающие жетоны вместе с позицией. Но я также не могу найти способ получить совпадающее имя группы. Я планировал...
3490 просмотров
schedule 29.04.2024

Создание лексического анализатора с помощью flex
В качестве школьного задания я создаю лексический анализатор с помощью FLEX. Анализатор используется парсером, который также является частью задания. Мы предполагаем использовать лексический анализатор и парсер для языка под названием VSL. Однако я...
650 просмотров
schedule 04.05.2022

Создает ли синтаксический анализатор или лексер таблицу символов?
Я беру курс компиляторов и делаю краткое введение. Это общий обзор того, как работает процесс компиляции. Однако я немного запутался. В моем курсе говорится: «кроме того, лексический анализатор обычно обращается к таблице символов для хранения...
3453 просмотров

Лексический анализатор Java
Я создаю лексический анализатор. в моем коде я могу выводить символы, но когда дело доходит до букв и цифр, я не могу придумать, каким будет мой код в этом.. пожалуйста, помогите мне в моем проекте .. спасибо package lab7; import...
2932 просмотров
schedule 28.11.2023

Лексирование сжатых данных
Я работаю над изучением использования lex и yacc. Это философский вопрос о лексировании и определении правил для лекса. Скажем, вы хотите создать компилятор для табличных данных в файле csv. Одно из полей содержит сокращенные и объединенные...
38 просмотров