pyparsing - 解析范围变量

时间:2015-06-08 02:09:50

标签: pyparsing

到目前为止,我能够使用pyparsing来解析ebnf语法。 但是,我想尝试以下代码示例,但无法想出 一个好的语法。

global radius = 5
DrawCircle(radius)
{
  radius = 10
  DrawCircle(radius)
}
DrawCircle(radius)

范围内的radius with值应为10,5,否则为5。 任何帮助将不胜感激?

此致

普利文

1 个答案:

答案 0 :(得分:0)

我能够通过运行以下代码来获取上述代码的解析器:

enclosed = Forward()
curls = nestedExpr('{', '}', content=enclosed)
enclosed << (OneOrMore(commands | ',' | curls))

我有一个跟进问题。我习惯使用http://pyparsing.wikispaces.com/file/view/ebnf.py

编写ebnf语法

我可以获得一些帮助来确定ebnf的转发或相当于上述代码吗?或者我应该在ebnf之外做什么?

此致

普利文