Описание тега ply
PLY - это реализация инструментов синтаксического анализа lex и yacc для Python.
1
ответ
Python PLY Lex неоднозначность
У меня проблема с неоднозначностью на уровне токенов. Проблема выглядит так. Мой код выглядит так, чтобы токен t_UN1 имел более высокий приоритет. t_ignore = ' \t\v\r' # whitespace .... def t_UN1(t): #NS_ r'NS\_' return t def t_IDENTIFIER(t): r'[a-z…
03 янв '13 в 21:26
1
ответ
Контекстно-бесплатная грамматика с неоднозначностью - небольшой компилятор, использующий генератор Ply lex/yacc
Я пишу небольшой компилятор, использующий генератор Ply lex/yaac для Python, для класса компилятора. Прямо сейчас мы погружаемся в фазу семантического анализа и вскоре к генерации кода. Но моя грамматика еще не завершена, так как я не могу написать …
29 апр '18 в 06:37
1
ответ
Использование PLY для разбора операторов SQL
Я знаю, что существуют другие инструменты для анализа операторов SQL, но я использую свои собственные в образовательных целях. Я застрял с моей грамматикой прямо сейчас.. Если вы можете обнаружить ошибку очень быстро, пожалуйста, дайте мне знать. SE…
08 сен '11 в 22:57
1
ответ
Бесконечная рекурсия, вызванная многократным появлением элемента синтаксического анализа YACC-PLY
Я имею дело с Yacc (сгибом), и я не знаю, как сделать больше вхождений элемента разбора, не вызывая сбой программы из-за бесконечной рекурсии. Допустим, у меня есть: def p_Attribute(p): ''' Attribute : STRING | NUMBER | Attribute | empty ''' [do stu…
02 авг '13 в 09:15
0
ответов
Пользовательские ошибки синтаксиса Ply
Я создаю парсер с использованием PLY в Python. Пока все идет хорошо, но проблема в том, что я не знаю, как использовать пользовательский p_error для каждого оператора. В настоящее время у меня есть оператор p_error: в нижней части файла синтаксическ…
17 мар '14 в 14:30
1
ответ
Регулярные выражения в коде yacc с PLY
Я пишу регулярные выражения с помощью PLY, но, похоже, он не ведет себя как yacc. Я написал это: def p_expression_TYPE (p): ''' TYPE : [' Discrete ', ' Continuous ' ] ''' чтобы выразить тот факт, что ТИП может принимать только эти значения: дискретн…
16 май '14 в 06:19
1
ответ
Использование ply.lex в строковом списке объектов json
У меня есть строковый список Python объектов JSON, которые я частично лексировал. но у меня остались токены, такие как "u'Grimsby" или "u'Amsterdam", и я изо всех сил стараюсь избавиться от предшествующих вам u, не повреждая токены слов, которые фак…
26 окт '12 в 23:16
1
ответ
Python/YACC: разрешение сдвига / уменьшение конфликта
Я использую PLY. Вот одно из моих состояний из parser.out: state 3 (5) course_data -> course . (6) course_data -> course . course_list_tail (3) or_phrase -> course . OR_CONJ COURSE_NUMBER (7) course_list_tail -> . , COURSE_NUMBER (8) cou…
30 май '10 в 18:52
0
ответов
Пакет обновления ply не проходит
Я хочу обновить ply так что я бегу - pip install ply --upgrade и я получаю ошибку (отмечен **) - Collecting ply Using cached https://files.pythonhosted.org/packages/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-…
01 сен '18 в 18:18
2
ответа
Проблемы с PLY LEX и YACC
Я пытаюсь запустить первую часть простого примера PLY, но я сталкиваюсь со странной ошибкой. Когда я запускаю следующий код, он выдает ошибку, касающуюся lex.lex() Кто-нибудь знает, в чем проблема? import ply.lex as lex tokens = [ 'NAME','NUMBER','P…
22 фев '16 в 22:52
1
ответ
Вопросительный знак в зарезервированном ключевом слове
Я пытаюсь написать парсер для LOLCODE GOD, что я делаю??? (на всякий случай объяснить эти странные слова =)) Итак, мне нужны токены для O RLY? а также YA RLY, Я пытаюсь сделать так: reserved = { ..., 'O': 'IF_O', 'RLY?': 'IF_RLY', 'YA': 'THEN_YA', '…
24 окт '17 в 18:37
1
ответ
Как сделать калькулятор со строками и числами в качестве смешанного ввода, используя парсер Python Ply
Я хотел бы попросить помощи для упражнения на калькулятор, который распознает английские слова и цифры в Python, но теперь использует PLY (Python Lex-Yacc) Числа и операторы могут быть заданы в двух формах, записанных в виде строки с использованием …
14 сен '13 в 13:27
1
ответ
PLY YACC синтаксический анализ IF-ELSE IF-ELSE вложенных операторов
Может ли кто-нибудь помочь мне с написанием правильных правил грамматики для вложенных операторов if? На моем языке я могу написать такие конструкции: (IF CONDITION) some statements (IF CONDITION) some statements (ELSE IF CONDITION) some statements …
12 июл '12 в 16:35
1
ответ
Невозможно построить PLY лексер с помощью ideone
Я пытаюсь создать MCVE для вопроса, который собираюсь задать позже, но у меня возникла проблема с онлайновой IDE, которую я пытаюсь использовать, ideone. Код по ссылке ниже прекрасно работает, если я запускаю его в своем локальном интерпретаторе Pyt…
30 мар '16 в 20:23
2
ответа
Python parser ply соответствует неправильному регулярному выражению
Я пытаюсь создать парсер с помощью Ply, но столкнулся со странной ошибкой. Вот MCVE, где происходит ошибка соответствия: лексер import ply.lex as lex tokens = ( 'IDENTIFIER', 'NAME', 'EQUALS' ) def t_IDENTIFIER(t): r'\* *[a-zA-Z_]+' print("identifie…
07 окт '16 в 19:01
1
ответ
Почему PLY обрабатывает регулярные выражения иначе, чем Python/re?
Немного предыстории: Я пишу парсер для извлечения информации с сайтов на языке разметки. Стандартные библиотеки, такие как wikitools, ... не работают для меня, потому что мне нужно быть более конкретным, и адаптация их к моим потребностям ставит сло…
22 фев '14 в 22:03
2
ответа
PLY lex yacc: обработка ошибок
Я использую PLY для разбора файла. Я должен напечатать сообщение пользователю, когда у меня есть ошибка в строке. Сообщение как Error at the line 4, def p_error(p): flag_for_error = 1 print ("Erreur de syntaxe sur la ligne %d" % (p.lineno)) yacc.err…
08 июл '14 в 09:10
0
ответов
Извлекать выражение как строку в правилах грамматики вместо того, чтобы сопоставлять ее с другими правилами грамматики выражения python ply
def abc_expression(p): expression : abc ( expression ) Я хочу извлечь термин p[3] как есть, вместо того, чтобы сопоставлять его с другими правилами грамматики. Например, мой ввод: abc(def(hello)) я хочу извлечь "def(hello)"используя правило abc ( ex…
12 дек '18 в 23:19
1
ответ
Зацикливание шага разбора в PLY Python 3
В настоящее время я использую Python 3 для анализа языка программирования, который я делаю. Мне интересно, как я могу сделать цикл правила синтаксического анализа. Это может быть неясно, поэтому вот пример. У меня есть код: def c_parse(): def p_prog…
31 дек '18 в 16:46
0
ответов
Ply - отлов лексических ошибок
Мне трудно понять, есть ли ошибка в моем коде или Ply не может поймать некоторые лексические ошибки. Я пишу небольшой компилятор на Python для класса моих компиляторов в университете, я написал несколько лексических анализаторов с использованием lib…
15 апр '18 в 15:00