问题标签 [pypeg]
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.
python - pyPEG - 由 `flag()` 函数识别的数据被 `compose()` 函数错误地返回
我处于需要解析旧格式的情况。我想做的是编写一个能够识别格式并将其转换为更易于使用的对象的解析器。
我设法解析输入,问题是当我想将它转换回字符串时。总结一下:当我将 my 的结果parse()
作为参数传递给我的compose()
方法时,它不会返回正确的字符串。
这是输出和源代码。我是 peg 的初学者,我有什么误解吗?请注意,我(126000-147600,3);
在我的初始字符串中,而在它-
前面的组合字符串中。
输出:
Python源代码:
python - pyPEG2 解析换行符
我正在尝试使用pyPEG2将 MoinMoin 标记转换为 Markdown,在某些情况下我需要注意换行符。但是,我什至无法让我的换行符解析测试工作。我是 pyPEG 新手,我的 Python 生锈了。请多多包涵。
这是代码:
这导致:
就好像 pypeg 在 \n 之后插入了一个空行。
尝试其他选项,例如
并且它们的各种组合不会改变错误消息(尽管我认为我没有尝试所有组合)。更改Newline
为子类str
而不是List
也不会更改错误。
更新
我发现 pypeg 在解析它之前剥离了换行符:
运行此结果:
如果我覆盖Newline
'parse
方法,我什至看不到换行符。它得到的第一件事是“a”。这与我在其他地方看到的一致。pypeg 去除所有前导空格,即使您指定contiguous
.
所以,这就是正在发生的事情。不知道该怎么办。
python - pypeg 不能用列表组成语法?
这引发了一个compose
错误。
我只能通过使用虚拟类绕过它:
现在它组成正确。
这里有什么问题?
python - 如何匹配pyPEG中的无序事物?
我有以下文件:
每种水果都有一个与之匹配的类:
我必须匹配每个未排序的水果,我无法预先确定订单是什么。如何设置FruitBasket
语法来匹配它们?
ps:水果其实是复杂的规则,每个水果类型代表不同的代码块,比如函数、原型、全局变量等。
python - 在枚举(pypeg)中使用美元符号?
我想使用pypeg$f
匹配表单的类型, $c
, ... ,所以我尝试将其放入如下:$d
Enum
但是,这失败了:
我也试过用替换$x
来\$x
转义这个$
角色。我还尝试预先添加r"\$x"
,希望它将其视为正则表达式对象。这些组合似乎都不起作用并给出相同的错误消息。我如何让它与我给出的例子相匹配?
python - pyPEG2 给出错误的结果
我用 pyPEG2 创建了语法,用于解析以下语句:
A爱B,B恨A,A恨B,A爱D,B爱C
下面是我的代码:
但是,当我尝试执行以下操作时:
我得到:
如果我更改此声明:
没有错误,但由于某些原因错过了最后一个块:
那么我做错了什么,文档描述得很好,但无法真正找到我在那里犯的错误。
希望有人可以帮助解决这个问题。提前致谢!!!
python - pyPEG 中的替换函数
如何替换 pyPEG 中的某些单词?例如我有句子
约翰踢足球
我想将John替换为Bob并将其组合为:
鲍勃踢足球。
输出:
c++ - 在 C++ 源文件中每个函数定义的开头添加一个宏调用
我想在我的 c++ Visual Studio 2015 项目中的每个函数的开头添加一行代码。
在每个函数中手动添加一行需要几个月的时间。有没有快速的方法或工具来解决这个问题?
函数示例有:
我需要处理所有这些函数定义
样本:
我找到了类似的答案来解释正则表达式、方面编程、__pender。由于我是初学者,很难理解这些概念。
期望是:我想提供工作区文件夹的路径,工具将获取其中的所有 cpp 文件并在所需位置添加宏。
如果此工具不存在,请指导是否可以使用.net、java或python等任何技术构建类似的工具。