私の現在のプロジェクトでは、ドメイン固有言語を開発しています。たとえば、この言語の構文は次のようになります。
structs:
TempStruct
tempValue : double;
unitOfMeasurement : String;
abilities:
sensors:
TemperatureSensor
attribute responseFormat : String;
generate tempMeasurement : TempStruct; // forward reference of previously defined structs
TempStruct
上記のコード フラグメントでは、が以前に定義されていることがわかります。私の要件は、以前に定義された構造のドロップダウン リストを DSL プログラマーに提供したいということです。そのため、プログラマはstructs
ドロップダウン リストから簡単に選択できます。
ANTLR の作業を開始しましたが、これが ANTLR でどのように実現できるかはわかりません。これについて何か考えはありますか?DSL を書くために、他のツールに関するあなたの指摘や提案を歓迎します。