一連の行を処理し、各行にテンプレートを適用したいと考えています。次の行ブロックがあるとします。
CASE
ESAC
IF
FI
そして、次の出力を取得したいと思います。
<YYINITIAL> {CASE} {
return new Symbol(sym.CASE);
}
...
<YYINITIAL> {FI} {
return new Symbol(sym.FI);
}
そこで、各行に適用する本文を含むテンプレートを用意することを考えました。次のようなものです。
<YYINITIAL> {###PLACE_HOLDER###} {
return new Symbol(sym.###PLACE_HOLDER###);
}
そして、それを各行に適用します。
私が考えたのは、行を選択し、次にレジスター ("a、たとえば) に入れ、テンプレートを選択してレジスター ("b) に入れ、出力を生成する外部スクリプトを呼び出すことでした。ただし、うまくいきません (レジスタの内容を外部スクリプトに渡す方法がわかりません)。
他のアプローチは大歓迎です。