我正在为SHARC处理器开发一个名为CrossCore嵌入式演播室的DSP工具链。IDE除了对汇编语言的支持非常差外,还实现得很好。
我不确定模拟设备是否会在不久的将来提供更好的支持。
我的意思是,目前没有代码折叠,没有轮廓和一个非常简约的代码着色支持。我想要快速地实现一些更高效的东西,我正在研究一种在Eclipse露娜中实现新的语言定义的方法。
我发现的是xtext。因此,我学习了5分钟和15分钟的教程,并阅读了一些关于它的文章。
我现在准备实施我的语言。由于这种汇编语言从C继承了非常相似的方面(即预处理指令、C/C++注释、算术操作和分号结尾),所以我正在积极地研究Xtext的C语法示例。
不幸的是,我还没有找到任何东西。遗憾的是,我发现C或C++不能很容易地用Xtext来描述,因为C-预处理器和C这样的多语言层,我还不会承认失败,我认为我可以实现一些足够的东西,因为我只需要近似的语法着色、一些代码折叠和概要支持。
我在哪里可以找到有用的例子来实现这种语言?
在这里,SHARC汇编语言是什么样的:
#include <foo.h>
#include "foo.h"
#ifdef BAR
.segment/dm slow;
#else
.segment/dm fast;
#endif
label:
r1 = r2; /* Another comment */
r3 = dm( _symbol + 0 );
r5 = r3 + 1; // A comment
jump(db);
nop;
r8 = pass r8;
another_label:
{ // Not currently recognized by the assembly, but useful for readabily, I would like to enable code folding here...
r2 = 3;
}
final_label.end: nop;
.endseg;发布于 2015-07-30 15:23:01
虽然我没有使用Xtext的长轨迹,但我建议您搜索一个像您想要完成的语法,而不是将它限制在Xtext上。据我所知,Xtext构建在Antlr之上,Antlr是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件(来自其网站)。现在,在语法示例方面,Antlr项目有几个贡献,您可以找到它们这里。
在这个存储库中,您可以找到用Antlr编写的C语法,这应该是Xtext语法的一个很好的起点;它不会有太多变化。
https://stackoverflow.com/questions/31598816
复制相似问题