ply相关内容

从PLY yacc访问并打印AST

我正在使用PLY编译一种语言(C-减法),以构建词法分析器和解析器。在PLY文档中很清楚,构建AST完全由用户决定(https://www.dabeaz.com/ply/ply.html#ply_nn2): Yacc.py的输出通常是抽象语法树(AST)。但是,这完全由用户决定。 那么,在我的词法分析器和解析器正常工作的情况下,我如何构建一个AST阅读器(因为正如文档中所说,输出是一个AST, ..
发布时间:2022-06-18 21:26:54 Python

Python - 显示 3D 点云

我有一个包含 3D 点云的 .PLY 文件:我想绘制它并在 Python 中对其进行可视化..PLY 文件只包含顶点而不包含面. 你能告诉我一个简单的 Python 库来处理 3D 点云的绘制吗? 重要的是要指出我对绘制网格不感兴趣,而只是对点云感兴趣. 解决方案 对于任何想简单方法在 Python 中读取和显示 PLY 点云的人,我的回答是自己的问题报告我发现在我的情况下最好 ..
发布时间:2021-11-25 01:22:03 Python

在python PLY(lex/yacc)中使用空生产规则的语法错误

完整示例如下: 将ply.lex导入为lex进口物业#令牌名称列表.这始终是必需的令牌= ["CheckupInformation",'介绍','信息','完美的','生病的','LPAREN','RPAREN','CHAR','数字']def t_CheckupInformation(t):"CheckupInformation";返回tdef t_Introduction(t):“简介";返 ..
发布时间:2021-05-29 20:30:38 Python

层切换/减少冲突:悬空其他和空的生产

我有很多冲突,其中大多数是由于运算符和关系运算符的优先级不同而引起的.但是我仍然面对一些我不知道如何解决它们的冲突.其中一些在下面.我怀疑也许应该为 stmtlist 做ε消除,但是说实话我不确定. 状态70: 状态70(27)块->LCB varlist.RCB列表(25)varlist->varlist.瓦尔德克(28)stmtlist->.stmt(29)stmtlist->.stm ..
发布时间:2021-04-23 20:02:13 其他开发

如何使用RPLY库解析多行代码?

我正在开发一种新语言,并且正在使用 RPLY 库进行词法分析.现在,当我在代码文件中使用多行时,我总是会遇到错误. 这是我的文件:- mylexer.py 从rply导入 LexerGeneratorLexer()类:def __init __():self.lexer = LexerGenerator()def _add_tokens():# 打印self.lexer.add( ..
发布时间:2021-04-23 19:54:25 Python

正则表达式中包含可变数据-ply.lex

im使用python模块ply.lex编写词法分析器.我有一些用正则表达式指定的令牌,但是现在卡住了.我有一个list of Keywords应该是token. data是包含大约1000个关键字的列表,这些关键字应全部识别为一种关键字.例如,可以是:_Function1 _UDFType2,依此类推.列表中的所有单词都用空格隔开,也就是它.我只希望该词法分析器识别此列表中的单词,以便它将返回`K ..
发布时间:2020-07-03 19:38:05 Python

使用PLY解析python,如何编写缩进和缩进部分

我试图用PLY解析python语言的函数定义. 我遇到与缩进有关的问题. 例如,对于一个for语句,我希望能够知道该块何时结束. 我在这里阅读了python语法: http://docs.python.org/2/reference/grammar.html 这部分的语法是: for_stmt: 'for' exprlist 'in' testlist ':' suite ['else' ' ..
发布时间:2020-07-03 19:37:02 Python

在层的正则表达式中匹配unicode

我正在匹配标识符,但是现在我遇到了一个问题:我的标识符允许包含unicode字符.因此,旧的做事方法还不够: t_IDENTIFIER = r"[A-Za-z](\\.|[A-Za-z_0-9])*" 在我的标记语言解析器中,我通过允许除除字符外的所有其他字符来匹配Unicode字符我明确使用了,因为我的标记语言只有两个或三个字符,我需要以这种方式进行转义. 如何将所有unicod ..
发布时间:2020-07-03 19:36:58 Python

Pyinstaller和Ply IOError:源代码不可用

我对pyinstaller来说还很陌生,但是现在已经有两天时间我一直在努力解决这个问题,而我似乎无法弄清楚出了什么问题.我的脚本可以正常运行,但是当我尝试使用pyinstaller进行构建时会引发IOerror,我的模块(包括ply.lex)似乎已包括在内,但也许我是个白痴?如果有人有任何建议,将不胜感激... 这是我的错误(第65行是构建词法分析器的地方) Traceback ( ..
发布时间:2020-07-03 19:36:54 Python

Python-显示3D点云

我有一个.PLY文件,其中包含3D点云:我想绘制它并用Python对其进行可视化. .PLY文件仅包含顶点,而不包含面. 您能告诉我一个简单的Python库,该库将负责绘制3D点云吗? 重要的一点是,我对绘制网格不感兴趣,而对点云不感兴趣. 解决方案 对于任何想以简便方法来读取和显示Python中的PLY点云的人,我回答了我提出自己的问题,报告我发现哪种方法是我的最佳解决方案. ..
发布时间:2020-05-28 21:11:18 Python

Python PLY解析项目出现零次或多次

我将Python与PLY一起使用来解析类似LISP的S表达式,并且在解析函数调用时可以有零个或多个参数.如何将其放入yacc代码中.到目前为止,这是我的功能: def p_EXPR(p): '''EXPR : NUMBER | STRING | LPAREN funcname [EXPR] RPAREN''' if len(p) ..
发布时间:2020-05-25 01:16:29 Python

如何理解和解决PLY中的冲突

我正在使用SystemVerilog解析器,并且遇到了许多层冲突(移位/减少和减少/减少). 我目前有170多个冲突,而我的问题是我不太了解PLY生成的parser.out文件.在没有正确理解我无能为力的情况下,我的目标是了解帘布层正在报告的内容.所有的PLY文档都是简短的,并且解释性不强. 您在这里有我的一种状态,这是第一个明显发现冲突的状态: state 24 (134) ..
发布时间:2020-05-25 01:16:05 Python

Pyparsing是否支持上下文相关语法?

如果我使用的术语不正确,请原谅;也许只是用“正确"的词来描述我想要的东西就足以让我自己找到答案. 我正在研究ODL(对象描述语言)的解析器,据我所知,这是一种奥秘的语言,目前仅由NASA PDS(行星数据系统;这是NASA向公众提供数据的方式)使用.幸运的是,PDS最终转向了XML,但是我仍然必须为在截止日期之前完成的任务编写软件. ODL以如下方式定义对象: OBJECT ..
发布时间:2020-05-25 01:04:13 Python

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_ta ..
发布时间:2020-05-25 00:54:58 Python

用PLY解析令牌

一段时间以来,我一直在尝试使用PLY解析某些给定的文本,但我一直无法弄清楚.我定义了这些令牌: tokens = ['ID', 'INT', 'ASSIGNMENT'] 我想将找到的单词分类为这些标记.例如,如果给定扫描仪: var = 5 它应打印以下内容: ID : 'var' ASSIGNMENT : '=' INT : 5 这很好用.问题是当程序获得以下文本 ..
发布时间:2020-05-25 00:46:10 Python

yacc-没有运算符的规则的优先顺序?

考虑使用yacc解析正则表达式(我实际上使用的是PLY),其中一些规则如下所示: expr : expr expr expr : expr '|' expr expr : expr '*' 问题在于,第一个规则(串联)必须优先于第二个规则,而不是第三个规则. 但是,串联规则中没有运算符. 在这种情况下如何正确指定优先级? 谢谢! 编辑: 我修改了规则以避免出 ..
发布时间:2020-05-25 00:39:57 其他开发

如何最好地解析一个简单的语法?

好的,所以我问了一些关于这个项目的小问题,但是我对我要提出的设计仍然没有足够的信心,所以我将在更广泛的范围内提一个问题.规模. 我正在解析课程目录的先决条件描述.描述几乎总是遵循某种形式,这使我认为我可以解析大多数形式. 根据本文,我想生成一个课程前提条件关系图. (在我解析了数据之后,这部分将很容易.) 一些示例输入和输出: "CS 2110" => ("CS", 211 ..
发布时间:2020-05-18 00:32:35 Python

如何使用PLY为一个令牌处理多个规则

我正在使用jison文件,并使用python PLY中的lex模块将其转换为解析器生成器. 我已经注意到,在此jison文件中,某些令牌具有与之关联的多个规则.例如,对于令牌CONTENT,文件指定以下三个规则: [^\x00]*?/("{{") { if(yytext.slice(- ..
发布时间:2020-04-30 10:12:21 Python