首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于解析IF语句的MGrammar

用于解析IF语句的MGrammar
EN

Stack Overflow用户
提问于 2009-09-17 08:36:28
回答 1查看 388关注 0票数 0

我正在构建一个MGrammar规范来解析一些伪代码,以寻找特定的信息位。我有大部分的规范工作,除了一个关键的元素。

伪代码支持if-then-else语法,但我一直无法找到一种令人满意的解析方法。确切的结构是...

IF expression operator expression THEN

Statement1

Statement2

Statementn

ELSEIF expression operator expression THEN

Statement1

Statement2

Statementn

ELSE

Statement1

Statement2

Statementn

ENDIF

Else和Elseif是可选的...Where。

到目前为止,我得到的是:`语法语句= r:ReturnClause => r|

I:i子句=> I|

ei:ElseifClause => ei |

e:ElseClause => e|

end:EndClause => end |

v:Expression => v;

语法IfClause = If名称:标识符运算符:运算符Then语句:语句=> If[名称,运算符,语句];

语法ElseifClause = Elseif名称:标识符运算符:运算符Then语句:语句=> ElseIf[名称,运算符,然后语句];

语法ElseClause = Else语句:语句=> Else语句;

语法EndClause = Endif;`

但是,'Then‘和'Else’后面的语句不够贪婪,只捕获解析树中的第一条语句。

有没有人尝试过使用MGrammar实现If语句的解析,或者有什么建议?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-06-02 17:12:51

您可以在Codeplex上的原型项目中找到(几乎)完整的C# 4.0语法。Dan Vanderboom在准备他的名为“原型”的新语言代码时写下了它。

也许这会有帮助:http://archetype.codeplex.com/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1437504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档