【发布时间】:2016-11-03 12:53:41
【问题描述】:
假设我有以下简单语法(查询 DSL):
grammar TestGrammar;
term : textTerm ;
textTerm : 'Text' '(' T_VALUE '=' STRING+ ')' ;
T_VALUE : 'value' ;
STRING : '"' .+? '"' ;
WS : [ \t\r\n]+ -> skip ;
然后在某个时候我决定需要更改文本术语格式,例如:
Text(value = "123") -> MyText(val = "123")
我应该如何迁移用户使用以前版本的语法生成的现有数据?
【问题讨论】:
-
对于像这样的简单更改,
TokenStreamRewriter正是您所需要的。 -
谢谢,@LucasTrzesniewski。我终于设法尝试了这个,它似乎成功了。