如何用树语法中的文本重写令牌?
|
这是我的树语法:
grammar t;
options{
output = AST;
}
type
:
\'NVARCHAR\' -> \"VARCHAR\"
;
ANTLR3 3.1.3说:
syntax error: antlr: t.g:12:5: unexpected token: \'NVARCHAR\'
这怎么了我从这篇文章中学到了。
ps。稍后我将使用此语法,以使它脱离AST。检索到AST之后,我将遍历它,并将每个令牌的文本添加到某个字符串缓冲区中。上面重写的想法是替换某些令牌。我正在做语言到语言的映射(具体来说是从SQL到SQL的方言)。
没有找到相关结果
已邀请:
2 个回复
氮顺
但这只会调整令牌的
,而不是
,而令牌仍是
类型。 2.使用虚构的令牌:
这会更改令牌的
和
。 如您所见,在两个演示中,, 9都被打印到控制台上: bart @ hades:〜/编程/ ANTLR / Demos / T $ java -cp antlr-3.3.jar org.antlr.Tool T.g bart @ hades:〜/编程/ ANTLR / Demos / T $ javac -cp antlr-3.3.jar * .java bart @ hades:〜/编程/ ANTLR / Demos / T $ java -cp。:antlr-3.3.jar TParser 令牌= VARCHAR
刷骸码
动作来替换文本和类型: