Вопросы по теме 'ply'

RegEx с переменными данными в нем - ply.lex
Я использую модуль python ply.lex для написания лексера. Некоторые из моих токенов указаны с помощью регулярного выражения, но теперь я застрял. У меня list of Keywords , который должен быть token . data - это список примерно из 1000 ключевых...
1267 просмотров
schedule 09.10.2021

Python PLY Yacc - Разбор деления комплексных чисел
Я реализую калькулятор на Python, чтобы иметь возможность вычислять как действительные, так и комплексные числа. У меня есть лексер / парсер, использующий PLY, и я создаю свой собственный класс для комплексных чисел, добровольно игнорируя тот факт,...
427 просмотров
schedule 19.10.2021

Python: проблема с YACC
Я использую PLY для разбора таких предложений, как: "CS 2310 или аналогичный опыт" Желаемый результат: [[("CS", 2310)], ["equivalent experience"]] Символы токенизатора YACC: tokens = [ 'DEPT_CODE', 'COURSE_NUMBER',...
770 просмотров
schedule 29.05.2022

Идентификация пар ключевых слов в lex
Я пытаюсь написать синтаксический анализатор для типа файла, в котором используются пары ключевых слов (разделенные пробелом), и я борюсь с правильным способом сделать это. Вот некоторые примеры токенов: angle spring angle dampen angle collision...
825 просмотров
schedule 02.06.2022

Почему Python PLY прекращает синтаксический анализ на токене $end?
Я использую библиотеку PLY для Python в своей грамматике. Кажется, компилируется нормально, и библиотека не предупреждает меня о каких-либо ошибках сдвига/уменьшения или уменьшения/уменьшения. Однако запуск очень простого примера выдает ошибку....
537 просмотров

Обобщающий пример целочисленного калькулятора из PLY в число с плавающей запятой
Я читаю первый пример из https://github.com/dabeaz/ply Это базовый калькулятор, позволяющий использовать только выражение, включающее '(',')','+','-','*','/' , целые числа и присваивание (например, x=3 ), и выдавать оценку выражения (даже...
837 просмотров
schedule 22.06.2022

Можно ли проанализировать эту кажущуюся двусмысленность в анализаторе LALR(1) (PLY)?
У меня есть большая грамматика в PLY (Python Lexx Yacc) для языка, у которого есть определенные проблемы при разборе. Язык позволяет ведущему синтаксису двух видов вызовов выглядеть одинаково почти до конца нетерминального вызова. Это дает много...
260 просмотров
schedule 21.08.2022

Python PLY Parser — анализ матрицы как списка списков
Я создаю калькулятор, используя PLY, и я хочу иметь возможность анализировать матрицы, подобные этой: [[11,1];[22,4];[13,3]] в список списков, которые будут переданы моему собственному классу Matrix для дальнейшего расчета. Это мой код до сих...
136 просмотров
schedule 18.09.2022

Разрешение конфликтов сдвига/уменьшения с помощью PLY
У меня есть следующая грамматика для языка setlx в PLY: Rule 0 S' -> file_input Rule 1 file_input -> statement_list Rule 2 epsilon -> <empty> Rule 3 statement_list -> statement Rule 4 statement_list ->...
3228 просмотров

Разбор python с помощью PLY, как закодировать часть отступа и отступа
Я пытался разобрать определение функции для языка python с помощью PLY. Я сталкиваюсь с проблемами, связанными с отступом. Например, для оператора for я хотел бы знать, когда заканчивается блок. Я прочитал грамматику Python здесь:...
2338 просмотров
schedule 03.10.2022

Разбор нескольких выражений в Ply yacc
Я пытаюсь разобрать файл с помощью Ply. Мне нужно уметь распознавать формат выражения a = 1; (имя равно числу с запятой). Все работает нормально, пока на входе есть только одно из выражений в строке (a = 1;), но yacc выдает ошибку, когда в строке...
42 просмотров
schedule 01.10.2022

Как написать регулярное выражение для соответствия строковому литералу, где экранирование является удвоением символа кавычки?
Я пишу синтаксический анализатор, используя ply , который должен идентифицировать строковые литералы FORTRAN. Они заключаются в одинарные кавычки, а управляющий символ — в двойные одинарные кавычки. то есть 'I don''t understand what you mean'...
8715 просмотров
schedule 29.10.2022

Создание AST для бинарных выражений
Я унаследовал грамматику ANTLR и теперь реализую ее без каких-либо изменений с помощью Python Lex Yacc. Моя проблема в том, что ANTLR обычно использует EBNF очень высокого уровня для определения грамматики, тогда как Yacc использует простую...
762 просмотров

Порядок сопоставления токенов в PLY
У меня есть парсер, написанный на PLY, который имеет следующее определение токена def t_COMMAND(t): r'create|show' return t def t_SCOPE(t): r'user|domain' return t def t_STRING(t): r'[a-zA-Z_@\*\.]*' return t Я...
362 просмотров
ply
schedule 05.01.2023

слой отладки в p_error() для доступа к состоянию/стеку парсера
Есть ли способ получить доступ к состоянию/стеку парсера в p_error()? Все, что я знаю, это то, что я могу посмотреть на оскорбительный токен.
1725 просмотров
schedule 25.03.2023

Проблемы с PLY LEX и YACC
Я пытаюсь запустить первую часть простого примера PLY, но сталкиваюсь со странной ошибкой. Когда я запускаю следующий код, он выдает ошибку относительно lex.lex() Кто-нибудь знает, в чем проблема? import ply.lex as lex tokens = [...
1937 просмотров
schedule 10.07.2023

Как я могу создать абстрактное синтаксическое дерево с учетом «|»? (Слой/Якк)
Учитывая следующую грамматику: expr : expr '+' term | expr '-' term | term term : term '*' factor | term '/' factor | factor factor : '(' expr ')' | identifier | number Это мой код с использованием слоя: from ply import lex, yacc tokens...
2160 просмотров
schedule 09.04.2023

pycparser.plyparser.ParseError в сложной структуре
Я пытаюсь использовать pycparser для анализа этого кода C: https://github.com/nbeaver/mx-trunk/blob/0b80678773582babcd56fe959d5cfbb776cc0004/libMx/d_adsc_two_theta.c Репо с минимальным примером и Makefile находится здесь:...
610 просмотров
schedule 29.04.2023

Сдвиг/уменьшение конфликта с args и kwargs - PLY
Пишу парсер для Python-подобного языка, который позволяет передавать в функции два типа аргументов (позиционные и именованные). И, как и в Python, именованный аргумент должен передаваться после позиционного. Я написал для него грамматику, но в ней...
176 просмотров

Контекстно-свободная грамматика с двусмысленностью — небольшой компилятор, использующий генератор Ply lex/yacc
Я пишу небольшой компилятор, используя генератор Ply lex/yaac для Python, для класса компилятора. Прямо сейчас мы погружаемся в фазу семантического анализа и вскоре приступим к генерации кода. Но моя грамматика еще не завершена, так как я не могу...
764 просмотров
schedule 11.07.2023