2

StringTemplateを使用してHTML出力を生成するANTLR3文法を書き込もうとしています。テンプレートルール(例)のすべてのHTMLタグをエスケープする必要がないように\<p\><variable>\</p\>、StringTemplate(例<p>$variable$</p>)の区切り文字としてドルを使用することをお勧めします。

StringTemplateが単独で使用される場合、後者がデフォルトのように見えますが、ANTRLによって生成されたパーサーコードは、StringTemplateをAngleBracketTemplateLexer初期化するときに常に使用します。

ANTLRにコードを生成させるにはどうすればよいですかDefaultTemplateLexer(つまり、ドルを区切り文字として使用するバリアント)?

4

1 に答える 1

3

DefaultTemplateLexer.class次のStringTemplateGroupように設定してみてください。

StringTemplateGroup group = new StringTemplateGroup(reader, 
                                                    DefaultTemplateLexer.class);
于 2010-02-11T11:08:22.920 に答える