我正在尝试使用 xtext为ninja build定义语法。
我无法回答三个棘手的问题。
- 按制表符缩进:
如何处理缩进。ninja 构建文件中的规则可能有几个变量定义,前面带有制表符间距(类似于 make 文件)。当语言有 SL 注释、忽略空格并通过制表符(python、make、...)进行缩进时,这会成为一个问题
cflags = -g
rule cc
command = gcc $cflags -c $in -o $out
- 交叉引用保留的变量名集:
存在一组保留变量。自动完成应该能够引用保留的和用户定义的变量集。
command = gcc $cflags -c $in -o $out
- 自动完成未与 WS 分隔的交叉引用变量名称
org.eclipse.xtext.common.Terminals 隐藏 WS 令牌。ID 令牌由空格分隔。但在 ninja 脚本(类似于 make 文件)中,解析应该使用最长匹配的变量名来完成。
some_var = some_value
command = $some_var.h
任何想法表示赞赏。谢谢。