我觉得ParseActions
在尝试构建生成的解析树(ParseResults
在 pyparsing 中称为)时,我的代码有点笨拙。
我现在要做的是让全局变量存储Group
元素返回的匹配标记组。最后,我会将结果注入toks
字典。这个可以吗 ?
我的粗略语法:
grammar = ZeroOrMore( Or( ExprA, ExprB, ExprC ) )
请注意ExprA
,ExprB
等可以以任何顺序交错。但是我想将一种类型的所有表达式分组到 ParseResults 中的一个字典条目中。你觉得我的技术怎么样?我不喜欢使用全局变量,因为它使多线程成为问题。我还有其他选择吗?