問題タブ [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.
translation - ANTLR + StringTemplate -JavaLike 言語を作成し、PLSql、C、および C++ に翻訳します
こんにちは私は翻訳者を実装しようとしています。ますます複雑になるので、実装したいことをよりよく説明しようとします。
新しい Java ライクな言語を指定する必要があります。この言語は、Java メソッドのすべての構造を実装する必要があります: 変数宣言、式、条件式、括弧式など... この言語は、ベクトル、定数、およびブール値で動作します。log、avg、sqrt、sum、diff、shift など、さまざまな機能があります。この言語は、plsql およびその他の言語に翻訳する必要があります。したがって、定義されたメソッドは StoredProcedure または C++ 関数などになります。演算子の優先度 (+、-、、/、<<、>> など) などの数学的な制約も考慮する必要があります。
私はすでにこのヒントを取得しています: 基本操作で式を分解: ANTLR + StringTemplate
タスクを達成するための最適なソリューションを知る必要があります。パイプライン方式ですべてのソリューションを使用する必要があると思いますが、ソリューションに試行錯誤の方法を使用したくありません。
さまざまな(別々の)ソリューションを試しましたが、すべてをまとめるのは難しいです。
私の最後の問題は、ベクトルと定数の間の式と、ベクトルとベクトルの間の式を分離することです。実際にplsqlを使用すると、これらの状況を処理するためのさまざまな機能があります。つまり、式 vactor1+5 (または 5+vector1) は PKG_FUN.constant_sum(cursor1, 5) のように変換する必要があり、代わりに vector1+vector2 は PKG_FUN.vector_sum(vector1, vector2) として変換する必要があります。さらに、ベクトルを生成する関数または式と、定数を生成するその他の関数または式を使用できます。これは、式を分析するときに考慮する必要があります (つまり、ベクトル a = ベクトル 1 + ((5 + var2) * ln(ベクトル 2) * 2) ^ 2)。
この言語の例は次のとおりです。
plsql、c、c++、またはその他の言語に翻訳する必要があります。
どんな助けでも大歓迎です。
java - StringTemplate 4 NullPointerException
NullPointerException を取得しました
およびコンソール ログ:「テンプレート 11:82: '(' は完全な驚きでした」私のテンプレート:
>>
「for-statement」に問題があると思います。削除された後、すべてが機能しました。
更新: ドキュメントで解決策が見つかりました - http://www.antlr.org/wiki/display/ST4/StringTemplate+cheat+sheet http://www.antlr.org/wiki/display/ST/How+to+Allow+ Double+Angle+Brackets+as+a+String
「\<」を使用して、「<」が属性式を開始できないようにする必要があります
java - HTMLエンティティがStringTemplateで確実にエスケープされるようにする最良の方法は何ですか?
次の文字列テンプレートを想定すると、Java Bean オブジェクトのリストが与えられます。
つまり、人々のリストにはPerson
、強化/拡張する能力がある場合とない場合があるオブジェクトが含まれている場合があります。
およびメソッドはサニタイズされた (エスケープされた html エンティティ)getName()
をgetEmail()
返しません。これをどのように回避しますか?
import - StringTemplate:jarからインポートする方法は?
jarに含まれているファイルから文字列テンプレートグループをロードしている場合があります。これは、次のメカニズムを使用して正常に機能します。
テンプレートファイルに
文字列テンプレートが次のように失敗します。
インポートが機能するようにjarを設定することは可能ですか?上記のアプローチは、jarが含まれていない場合に正常に機能します。
java - StringTemplate テンプレートをエスケープするには?
テンプレートを処理しようとしています (以下を参照)。Eclipse コンソールにあらゆる種類のメッセージが表示されます。
私はネットを検索しましたが、探しているものを実際に見つけることができません。ここでこのトピックに関する何かを見たのを覚えていますが、その時はブックマークしていなかったので、再び見つけることができません! :/
助けていただけますか?ありがとう
ps。StringTemplate を使用して電子メール メッセージを作成しようとしています。クライアントの「読みやすさ」のために HTML タグを使用します。
テンプレートの読み込みに使用される Java コード
私のテンプレート
テンプレートに関して表示されるエラー メッセージは次のとおりです。
java - Stringtemplate 4.xを使用してOutputStreamに直接書き込む方法は?
一部のテンプレートから呼び出し.render()
て極端に大きく構築したくありません。Strings
以前のバージョンOutputStream
では、テンプレート全体をにレンダリングしてからそれを書き出す代わりに、直接書き込むことができましString
た。
ST.write()
のインスタンスで使用してみましたNoIndentWriter
が、出力がありません。
OutputStream
の最新バージョンを使用して、どのように直接書き込みますStringtemplate
か?
antlr - ANTLR - 文字列テンプレート - キャメルケース
ツリー変換でantlrトークンをキャメルケースのStringTemplate属性に変換するための最良のパターン(言語に依存しない、再ターゲット可能な生成コード用)は何ですか? 例: 私の DSL には MY_FIELD 定義があり、StringTemplate の出力には myField が必要です。
stringtemplate-4 - v4 で v3 API setAttributes(Object) が見つかりませんでした
v4 は API: ST.add(String, Object) を提供します。v4 で v3 API setAttributes(Object) が見つかりませんでした。
ST.add("root", JSONObject) を使用しました。例外が発生します:
java - StringTemplate で getter が見つかりません
ST-4.0.7.jar を使用しており、テンプレートは次のようになります。
ただし、出力ファイルを調べると、
BTResult で:
コードラインで:
メソッドで:
getMethod メソッドのコードライン オブジェクトにブレークポイントを設定しましたが、呼び出されません。したがって、どういうわけか、stringtemplate には正しいゲッターの解決に問題があると結論付けています。
STErrorListener を追加し、ST が次のエラーをスローすることを発見しました。
これについて特に困惑しているのは、テンプレートが btresult を取得する必要があると言っているのに、なぜ BTReult.method に解決しようとするのかということです。コードライン .method.name ?
string - StringTemplate の文字列値の長さを取得する
ドキュメントによると、この形式でオブジェクトのプロパティを参照でき<object.property>
ます。これで文字列の長さをチェックできると思っていましたが、うまくいかないようです。メソッドがString.length()
_ _ _ _ Scala REPL のこのクイックチェックで確認しました:<mystr.length>
getLength()
length
length()
したがって、文字列にgetLength()
メソッドまたはlength
フィールドがあれば、それは機能します...
文字列の長さを取得する簡単な方法はありますか? たぶん、組み込みの StringTemplate 関数、または私が知らない他のメソッドですか?