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

Токенизация оставшихся данных с помощью lex/yacc
Простите меня, я совсем новичок в парсинге и lex/yacc, и я, вероятно, запутался, но тем не менее: Я пишу довольно простой калькулятор с PLY, но его ввод не всегда может быть уравнением, и мне нужно определить, так оно или нет при разборе. Крайними...
651 просмотров
schedule 27.02.2023

несколько лексеров для одного парсера с PLY?
Я пытаюсь реализовать парсер python, используя PLY для языка Kconfig, используемого для создания параметров конфигурации для ядра Linux. Есть ключевое слово source, которое выполняет включение, поэтому я делаю следующее: когда лексер встречает это...
1461 просмотров
schedule 02.04.2023

Как оценить совпадающее число позже в регулярном выражении? - Лексирование дескриптора редактирования FORTRAN 'H' с Ply
Я использую Ply для интерпретации строки формата FORTRAN. У меня возникли проблемы с написанием регулярного выражения для соответствия 'H ' изменить дескриптор , который имеет вид x H ccccc... где x указывает количество символов для...
309 просмотров
schedule 27.07.2023

Как заставить синтаксический анализатор типа YACC останавливаться на кратчайшем совпадающем вводе?
Вот контекст: у меня есть файл (или поток), и я хочу обработать его заголовок, остановить, а затем по-другому обработать остальные данные. То есть, предположим, у меня есть поток вроде BEGIN GOOD GOOD GOOD GOOD GOOD DONE JUNK JUNK JUNK JUNK ... ....
311 просмотров
schedule 12.11.2022

PLY yacc анализирует вложенные операторы IF-ELSE IF-ELSE
может ли кто-нибудь помочь мне написать правильные правила грамматики для вложенных операторов if? На моем языке я могу написать такие конструкции: (IF CONDITION) some statements (IF CONDITION) some statements (ELSE IF...
4859 просмотров
schedule 09.11.2022

разбор файла определенного формата в ply (python)
у меня проблема с ply, я должен получить файл со списком токенов и грамматикой (bnf), я написал грамматику для распознавания ввода, и она почти работает (просто мелкие проблемы, мы их решаем), для пример это допустимый входной файл #tokens = NUM...
1290 просмотров
schedule 26.05.2023

Используйте PLY для соответствия обычной строке
Я пишу парсер, используя PLY . Вопрос похож на этот Как написать регулярное выражение для соответствия строковому литералу, где экранирование является удвоением символа кавычки? . Однако я использую двойные кавычки для открытия и закрытия строки....
2957 просмотров
schedule 22.04.2023

Контекстно-свободная грамматика для VBA
Я пытаюсь сканировать и анализировать код VBA (visual basic for application) для школьного задания. Я использую модули Python PLY lex и yacc. Прямо сейчас я просто пытаюсь заставить объявление и присваивание переменных работать как доказательство...
391 просмотров
schedule 09.02.2024

Регулярные выражения в коде yacc с PLY
Я пишу регулярные выражения с помощью PLY, но, похоже, это не похоже на yacc. Я написал это: def p_expression_TYPE (p): ''' TYPE : [' Discrete ', ' Continuous ' ] ''' чтобы выразить тот факт, что TYPE может принимать только следующие...
1372 просмотров
schedule 01.08.2023

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" %...
2912 просмотров
schedule 02.09.2022

Многострочный анализатор PLY
Я использую PLY для разбора арифметических выражений, занимающих несколько строк (или разделенных знаком «;»). Я не уверен, следует ли игнорировать токены новой строки, поскольку они мне действительно не нужны. Если они игнорируются (возвращают None...
1283 просмотров
schedule 22.01.2023

Модульное тестирование токенизатора Python: вставьте один токен в сгенерированный список токенов
Я реализую токенизатор Python для извлечения токенов из текстового файла. Токены относятся к строкам, которые «соответствуют» шаблону (регулярному выражению), который я определил для каждого токена. Я использую функциональность лексера из пакета...
440 просмотров
schedule 11.09.2023

Как создать python Ply lex с передачей модуля
Я пытаюсь использовать компилятор языка логотипов, который использует Ply в среде Unity3D для проекта с открытым исходным кодом https://github.com/ssouzawallace/blocks-programming . Для этого я использую IronPython, интерпретатор Python,...
143 просмотров
schedule 18.07.2022

PLY YACC pythonic синтаксис для накопления списка значений, разделенных запятыми
Я использую YACC впервые и привыкаю к ​​использованию грамматики BNF. В настоящее время я создаю list из type из списка, разделенного запятыми (например, int , float , string ): def p_type(p): '''type : primitive_type |...
1767 просмотров
schedule 31.10.2022

Вставка новых лексем в правило yacc
У меня есть следующая грамматика (это упрощенная): S -> EXPR EXPR -> ITEM addop EXPR EXPR -> ITEM ITEM -> num ITEM -> ident имея: num: a floating point number ident: a string representing an identifier addop: + Я...
107 просмотров
schedule 04.03.2023

Использование Ply с iPython/Jupyter
Я работаю над проектом, который использует инструмент анализа слоев. Мне нужно реализовать проект в iPython, но, как видно из этого поста проблемы с PLY LEX и YACC , ply вызывает проблемы с инструментом. Таким образом, я хотел знать, есть ли...
707 просмотров
schedule 30.11.2022

Как изменить порядок разбора правил?
Я разрабатываю язык программирования , и у меня возникают проблемы с операторами условий. Вот код на моем языке: x = 4 -> ? 2 > 5 <? x = 7 -> ?> -> [o] <- x -> Вот конкретная часть грамматики, определяющая...
104 просмотров
schedule 14.09.2022

Ply пример калькулятора нескольких выражений
Я пробовал пример калькулятора Ply из Github . Когда я запускаю калькулятор, он работает внутри REPL. Как бы я использовал Ply, чтобы можно было оценивать несколько выражений одно за другим. Например, если я ввожу 3+4 , REPL делает следующее:...
711 просмотров
schedule 11.10.2022

Имеют ли строки AND, OR особое значение в PLY?
При использовании PLY ( http://www.dabeaz.com/ply/ ) я заметил, что кажется очень странной проблемой: когда я использую токены типа & для соединения, программа ниже работает, но когда я использую AND в том же месте, PLY заявляет о...
232 просмотров
schedule 03.11.2022

yacc - Приоритет правила без оператора?
Размышляя о разборе регулярных выражений с помощью yacc (на самом деле я использую PLY), некоторые из правил будут выглядеть следующим образом: expr : expr expr expr : expr '|' expr expr : expr '*' Проблема в том, что первое правило...
2406 просмотров
schedule 23.04.2024