问题标签 [ply]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
28 浏览

random - 使用 PLY 生成的随机语法查询

我已经使用 PLY 创建了一个语法,我想生成一些遵循这个语法的随机查询。有没有办法做到这一点?仅针对上下文无关语法,我在这件事上找不到任何东西。

提前致谢。

0 投票
1 回答
2772 浏览

python - Python Lex-Yacc(PLY):无法识别行开头或字符串开头

我对PLY很陌生,而且比 Python 的初学者还要多。我正在尝试使用PLY-3.4和 python 2.7 来学习它。请看下面的代码。我正在尝试创建一个令牌 QTAG,它是一个由零个更多空格组成的字符串,后跟“Q”或“q”,然后是“。” 和一个正整数和一个或多个空格。例如 VALID QTAG 是

无效的是

这是我的代码:

我得到的输出如下:

请注意,只有第一个和第三个有效输入被正确标记。我无法弄清楚为什么我的其他有效输入没有被正确标记。在 t_QTAG 的文档字符串中:

  1. 替换'^''\A'无效。
  2. 我尝试删除'^'. 然后所有有效输入都被标记化,但是第二个无效输入也被标记化。

提前感谢任何帮助!

谢谢

PS:我加入了 google-group ply-hack 并尝试在那里发帖,但我无法直接在论坛或通过电子邮件发帖。我不确定该组是否已处于活动状态。Beazley 教授也没有回应。有任何想法吗?

0 投票
1 回答
3677 浏览

python - PLY 安装不正确

我正在尝试python setup.py install按照教程中使用 git bash 的方式安装 PLY,但结果不一样。

python setup.py install输出:

我什至不能使用 PLY,如https://github.com/dabeaz/ply所示

我得到错误command not found

0 投票
0 回答
2569 浏览

python - “语法错误:无法构建词法分析器”?

这是我的代码:

当我运行它时,我得到一个错误:

我认为问题出在这里:

但我无法修复它。

有没有人有任何建议我该如何解决?

谢谢您的帮助!

0 投票
2 回答
3084 浏览

python - PLY lex yacc:错误处理

我正在使用 PLY 解析文件。当我在线路上出现错误时,我必须向用户打印一条消息。

类似的消息Error at the line 4

但它不起作用。我有错误

还有另一种更合适的方法吗?

0 投票
1 回答
649 浏览

python - ply.lex 是否解析一次相同的令牌?

我正在阅读一个词法解析文档,以便我可以解析一些参数,并且我完全按照文档创建了一个解析器。这是整个代码:

我只是创建了一个示例参数列表,我得到了这个输出:

第一个和第二个示例参数被正确解析,但第三个不是。第三个示例参数是 EXPRESSION+LESS+NUMBER,而它必须是 EXPRESSION+MORE+NUMBER+AND+EXPRESSION+LESS+NUMBER。所以我认为可能存在这些问题之一:

  • ply.lex 只解析一个标记:在上面的代码中,ply.lex 无法解析两个单独的表达式,它返回最新的标记作为其类型。"[kare]>400&&[kare]" 是 EXPRESSION,因为它以第二个 [kare] 的最新 EXPRESSION 令牌结尾,而 800 是 NUMBER,因为它是最新的 NUMBER 令牌。

    !!!或者 !!!

  • t_EXPRESSION 变量中有一个错误:我将此变量定义为“[.*]”以获取这两个括号 ([]) 中的所有字符。第三个示例参数的第一个标记是“[kare]>400&&[kare]”,因为它只是以这些括号开始和结束,并且在其中包含 .*(每个字符),但我认为解释器会在第一个 ( ]) 字符由于是第一个。

所以我找不到解决方法,但在这里问。

总的来说,这就是我正在努力解决的问题

我明白了

但我期待的东西更像

0 投票
1 回答
435 浏览

python - How to tokenize a string in C++ (like ply.lex in Python)?

How do I easily tokenize a document or string using C++? I'm familiar with ply.lex module in Python but I couldn't find anything for C++. Is there a C++ library which can make use of lex and yacc? Or is there another better library or way of doing this easily?

0 投票
2 回答
242 浏览

python - ply 中的特殊情况词法分析器规则

有没有办法对 ply lexer 规则进行特殊处理?

我想将运算符定义为列出的字符的任意组合,但自己的特殊情况。例如:==>

0 投票
1 回答
397 浏览

ply - PLY 中的令牌匹配顺序

我有一个用 PLY 编写的解析器,它具有以下标记定义

我正在尝试解析以下字符串

这是我的语法

我在令牌处收到语法错误created_on,可能是因为它被匹配为 aCOMMAND而不是STRING

有没有办法让 PLY 进行尽可能大的匹配?

0 投票
1 回答
140 浏览

python - 当我们在 ply.lex 中混合函数和字符串类型标记定义时,优先顺序是什么?

如果我使用上述令牌规范,ply.lex那么哪个令牌将获得更高的偏好?我知道在函数的情况下,首先定义的函数具有更高的优先级,而在字符串的情况下,较长的正则表达式具有更高的优先级。

当我有多种代both string and function type币规格时怎么办?元组中的顺序tokens = ()会影响偏好顺序吗?