|
如何设置规则的优先级别?
最近的一个项目里需要实现一个shape grammar的解释器,语法规则比较特别。
T是其中的一个关键字,用法是T(param)。param是python语句。比如T(1.0, w, h),表示scope设置为1,w,h;T(math.cos(1.0), random.random()),表示math.cos(1.0)和random.random()由python解释后,将返回值设置成scope。
关键字还有很多,现在的问题是,如何保证类似T(),Comp()关键字这类语句不会被当作python语句。用AST貌似不行,还是被当作python语句匹配。我想用规则的优先级别来试试。 |
|