2

テンプレートの可変シーケンスを引数に適用する必要があります。テンプレート シーケンスは実行時にコントローラー レイヤーで決定され、これらのテンプレートは次のような 1 つの引数にのみ適用されます。

arg:tpl1():tpl2():...:tplN()

履歴書では、一連のテンプレートを引数に適用する必要がありますが、このシーケンスは実行時およびコントローラー レイヤーで計算されます。

ありがとうございました!!

4

1 に答える 1

2

テンプレート名とパラメーター リストを同時に反復処理する必要があります。ドキュメントhttp://www.antlr.org/wiki/display/ST4/Templatesから、次の例を見つけることができます。

<names,phones:{ n,p | <n>: <p>}>

あなたの場合、次のようなものが必要です

<names,values:{ n,v | <(n)(v)>}>

ああ、あなたのコメントによると、テンプレートのリストを別のリストに適用するには、ネストされた map-apply が必要だと思います。

<values:{v | <names:{n | <(n)(v)>}}>

これにより、names で指定された各テンプレートが values の各値に適用されます。

于 2012-12-15T23:01:03.850 に答える