Вопросы по теме '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 просмотров
schedule
13.06.2022
Обобщающий пример целочисленного калькулятора из 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 просмотров
schedule
25.09.2022
Разбор 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 просмотров
schedule
30.03.2023
Порядок сопоставления токенов в 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 просмотров
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 просмотров
schedule
29.05.2023
Контекстно-свободная грамматика с двусмысленностью — небольшой компилятор, использующий генератор Ply lex/yacc
Я пишу небольшой компилятор, используя генератор Ply lex/yaac для Python, для класса компилятора. Прямо сейчас мы погружаемся в фазу семантического анализа и вскоре приступим к генерации кода. Но моя грамматика еще не завершена, так как я не могу...
764 просмотров
schedule
11.07.2023