62得票6回答
使用Python解析SQL

我想在一个非关系型数据仓库上创建SQL接口。虽然是非关系型的数据仓库,但以关系型方式访问数据是有意义的。 我正在研究使用ANTLR来生成表示SQL的关系代数表达式的AST。然后通过评估/遍历树来返回数据。 我以前从未实现过解析器,因此我希望能够获得如何最佳实现SQL解析器和求值器的建议。 ...

37得票6回答
如何最佳解析简单语法?

好的,所以我之前问了很多关于这个项目的小问题,但我对我设计的内容并没有太多信心,所以我要在更广泛的范围内提出一个问题。 我正在解析课程目录的先决条件描述。这些描述几乎总是遵循一定的形式,这让我觉得我可以解析它们中的大部分。 从文本中,我想生成一张课程先决条件关系图。(在我解析数据后,这部分...

37得票1回答
Pyparsing:空格有时很重要......有时不重要

我想为一个包含多个部分(如下面的“段落”)的文件创建语法。 每个部分以其关键字(例如PARAGRAPH)开头,后跟一个标题(此处为title),并在以下行中包含其内容,其中一行内容是该部分的一行。 目前,它就像是一个带有标题、列和行的表格。 在下面的示例(tablefile)中,我将限制部...

23得票5回答
Pyparsing之后该做什么?

我开发了一个庞大的语法,作为一个大型的纯Python应用程序的一部分,使用pyparsing实现。 我已经达到了性能调整的极限,现在降低回报的效果让我开始寻找其他选择。是的,我认为我知道大多数诀窍和技巧,我的语法和应用程序已经被剖析得很透彻了。 接下来呢? 我希望找到一个解析器,它可以给...

19得票2回答
使用Pyparsing以二叉树方式解析复杂的逻辑表达式

我正在尝试解析类似下面这样的复杂逻辑表达式;x > 7 AND x < 8 OR x = 4 并将解析后的字符串作为二叉树获取。对于上述表达式,期望的解析表达式应该如下所示[['x', '>', 7], 'AND', [['x', '<', 8], 'OR', ['x'...

18得票4回答
PyParsing中的简单递归下降解析

我尝试着将这段代码转换为我正在进行的编程语言处理项目所需的形式,但是在一个简化版本中,我遇到了问题:op = oneOf( '+ - / *') lparen, rparen = Literal('('), Literal(')') expr = Forward() expr <&lt...

18得票1回答
调试Pyparsing语法

我正在构建一个名为C--(不是真正的C--语言)的虚构编程语言的解析器。我已经到了需要将语言的语法转换成Pyparsing可以接受的东西的阶段。不幸的是,当我来解析我的输入字符串(该字符串正确并且不应导致Pyparsing出错)时,它无法正确解析。我担心这是由于我的语法存在错误,但由于我第一次...

16得票2回答
Pyparsing的setParseAction函数未获取任何参数。

我正在尝试解析一个简单的键值查询语言。实际上,我已经用一个巨大的怪物解析器完成了它,然后我通过第二次遍历对解析树进行了清理。我想做的是从底层开始进行干净的解析,其中包括使用集合来消除冗余的键值对等。虽然我之前已经让它工作了,但我感觉我没有完全理解pyparsing的行为方式,所以我做了很多变通...

15得票2回答
如何使用pyparsing解析具有多个打开/关闭类型的嵌套表达式?

我想使用pyparsing来解析形如:expr = '(gimme [some {nested [lists]}])'的表达式,并返回一个Python列表:[[['gimme', ['some', ['nested', ['lists']]]]]]。目前我的语法如下: nestedParen...

14得票3回答
Python - pyparsing Unicode 字符

:) 我尝试使用 w = Word(printables),但它不起作用。我应该如何为此提供规范?'w' 应该处理印地语字符 (UTF-8) 代码指定语法并相应地解析。 671.assess :: अहसास ::2 x=number + "." + src + "::" + w + ...