nic*_*ten 11 eclipse grammar parsing xtext coffeescript
如何使用Xtext解析具有语义空白的语言?我正在尝试为CoffeeScript编写语法,但我找不到任何好的文档.
AFAIK,你不能。
在解析类似 Python 的语言时,您需要词法分析器来发出INDENT和DEDENT标记。为此,您需要在词法分析器规则(Xtextterminal规则)内支持语义谓词,该规则首先检查输入中下一个字符的当前位置是否等于 0(行的开头)并且是' '或'\t'。
但是浏览文档,我没有看到 Xtext 目前支持这一点。从 Xtext 2.0 开始,在生产规则中添加了对语义谓词的支持(请参阅:6.2.8. 句法谓词),但在终端规则中不添加支持。
使用 Xtext 执行此操作的唯一方法是让词法分析器生成终端空格和换行符,但这会使您的生产规则完全混乱。
如果你想使用 Java(和面向 Java 的解析器生成器)解析这样的语言,我推荐 ANTLR,在其中你可以很容易地发出这样的INDENT和DEDENT令牌。但如果您热衷于 Eclipse 集成,那么抱歉,我不知道您如何能够使用 Xtext 来做到这一点。
| 归档时间: |
|
| 查看次数: |
3705 次 |
| 最近记录: |