xtextでninja buildの文法を定義しようとしています。Ninja build in xText
私が答えることができない3つのトリッキーポイントがあります。タブによって
- インデント:インデントを処理する方法
。 A のninjaビルドファイルには、前のタブ間隔(makeファイルに類似)を持つ複数の変数定義が含まれている場合があります。 :これは
cflags = -g
rule cc
command = gcc $cflags -c $in -o $out
- クロス変数名の予約されたセットを参照(...、パイソン、作る)言語は、SLのコメントを持っているホワイトスペースを無視し、タブでインデントを行う際に問題となります
予約された変数があります。オートコンプリートは、予約された変数とユーザー定義の変数の両方を参照できる必要があります。 WS
org.eclipse.xtext.common.Terminalsで区切られていない相互参照変数名をオートコンプリート
command = gcc $cflags -c $in -o $out
- はWSトークンを隠します。 IDトークンは空白で区切られています。しかし、忍者スクリプト(makeファイルに似ています)では、最も長い変数名と一致するように解析する必要があります。
some_var = some_value command = $some_var.h
いずれかのアイデアがあります。ありがとう。
まだこのヘルプが必要ですか? –
この関連する質問を参照してください:http://stackoverflow.com/questions/7167834/xtext-grammar-for-language-with-significant-semantic-whitespace –
積極的ではありませんが、答えがいいです。 –