gpt4 book ai didi

eclipse - Xtext:具有重要/语义空白的语言的语法

转载 作者:行者123 更新时间:2023-12-04 01:34:05 29 4
gpt4 key购买 nike

如何使用 Xtext 解析带有语义空白的语言?我正在尝试为 CoffeeScript 编写语法,但找不到任何关于此的好的文档。

最佳答案

AFAIK,你不能。

在解析类 Python 语言的情况下,您需要词法分析器发出 INDENTDEDENT token 。为此,您需要在词法分析器规则(Xtext 的 terminal 规则)中支持语义谓词,该规则首先检查输入的下一个字符 int 的当前行内位置是否等于 0(行)并且是 ' ''\t' .

但是浏览documentation ,我认为目前 Xtext 不支持此功能。从 Xtext 2.0 开始,在产生式规则中添加了对语义谓词的支持(参见:6.2.8. 句法谓词),但在终端规则中没有。

使用 Xtext 做到这一点的唯一方法是让词法分析器生成终端空格和换行符,但这会使您的生成规则完全困惑。

如果您想使用 Java(和面向 Java 的解析器生成器)解析这样的语言,我建议您使用 ANTLR,您可以在其中发出这样的 INDENTDEDENT token 很容易。但是,如果您热衷于 Eclipse 集成,那么我不知道您如何使用 Xtext 做到这一点,抱歉。

关于eclipse - Xtext:具有重要/语义空白的语言的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7167834/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com