問題タブ [stringtemplate-4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
516 参照

stringtemplate - StringTemplate4::テンプレート呼び出し内のテンプレート呼び出し

別のテンプレートを呼び出した結果をパラメーターとして渡して、テンプレートを呼び出そうとしていますが、それを機能させることができないようです。絞り込みの例を次に示します。

ファイル内の次のテンプレートグループ:

次のJavaコードで呼び出された場合:

期待どおりに動物園を作成します。

ただし、「zoo」リテラルを同じものを返すテンプレートに置き換えようとすると、STは解析中に次のように文句を言います。

動作しません:

0 投票する
0 に答える
170 参照

emacs - StringTemplate の Emacs モード

StringTemplate Java テンプレート エンジンで使用できる Emacs モードはありますか?

0 投票する
1 に答える
221 参照

stringtemplate-4 - グループ ファイルとグループ ディレクトリを結合することはできますか?

私は StringTemplate を使用して HTML を生成しています。これらを組み合わせて、グループ ファイルのディレクトリを作成できるようにしたいと考えSTGroupFileSTGroupDirいます。このようにして、複数のテンプレートを 1 つのファイルに含めることができますが、複数のファイルのテンプレートを結合することもできます。これに対するサポートがあるようには見えませんが、何かを見落としているのではないかと思いました。

なぜ私がこれをやりたいのか疑問に思っている場合は、StringTemplate ドキュメントの例を見てみましょう。

上記がすべて 1 つのファイル (test.st) にあり、 を使用していると仮定するとSTGroupDir、別のファイル (bracket.st) にない限り、「bracket(x)」テンプレートを解決できません。この特定の例では、ブラケットはメイン テンプレートをクリーンアップするのに役立つローカル ヘルパーのようなものです。この場合、test.st の外でブラケットを表示したくないでしょう。

ただし、単純なヘルパー テンプレートのライブラリを作成する場合は、それらすべてを 1 つのファイルに配置し、それぞれのテンプレートに他のファイルのテンプレートからアクセスできるようにすることをお勧めします。

0 投票する
1 に答える
258 参照

java - 本当に大きなJavaコードを生成する

CHMファイルからリストに最大20kの組み込み関数と定数を入力する必要があります。最初にそれらのリストをシリアル化しようとしましたが、逆シリアル化には1500ミリ秒かかります(最初のヒットでも、コードをすばやく完了するには長すぎます)。

有効なコードを生成するStringTemplateを使用してコード生成を試みました。ただし、「initEnums()メソッドがサイズ制限の65536を超えた」ため、コンパイルされません。(そして私のEclipseはすぐに死にます)

生成されたメソッドは次のようになります。

この制限がソースコードのみに制限されている場合は、別のライブラリを使用してクラスファイルを直接生成できます(おそらくCodeModel)。可能であれば、出力ジェネレーターを最初から書き直さずに、コードを保持したいと思います。助言がありますか?

0 投票する
2 に答える
1194 参照

stringtemplate - 長さの条件付きの場合は StringTemplate4

StringTemplate4 を使用して、次の種類のコードを生成する必要があります。

「接続接続」部分は常に存在するため、メソッド名と残りの引数のみを ST テンプレートに渡します。私のテンプレートは次のようになります。

これは機能しますが、引数がまったくない場合 (conn を除く)、余分なコンマが生成されます。

余分なコンマを削除するために、if条件とlength ST4 関数を使用してみましたが、次のようなさまざまな組み合わせを試しましたが、機能しませんでした。

...その他、解析関連のエラー (入力の不一致)ですべて失敗しました。

結局、私はあきらめて、プリレンダリング ロジックに基づいて、"," または空の文字列 "" のいずれかであるコンマパラメーターをテンプレートに渡すことにしました。

0 投票する
1 に答える
133 参照

java - StringTemplate は一致しないパターンを置き換えません

テンプレートがあるとします

エンジンを作ります

モデルでdoset tosportsおよび noを使用した結果は次のとおりです。man

しかし、私はそれが未解決のままであることを望みます。つまり、

これは StringTemplate 4 で実行できますか?

0 投票する
0 に答える
123 参照

antlr4 - antlr v4 で ST-4 を使用する

今までantlr 3.4を使って言語固有の文法を作り、ST-3でその言語の翻訳機を作っていましたが、antlr v4とST-4が出てからは以前書いたコードが使えなくなりました。antlr v4 での ST-4 の使用例はありますか。ありがとうございました、