我正在ANTLR v4和C#中编写代码转换器。我的输入可以被认为是C,除了多维数组,它被定义为列和行,我输出到C.
基本上我正在尝试转换它:
int abc [2] [] = {1,2,......}
要
int abc [] [2] = {1,2,......}
然后交换其语句中使用的索引。
目前我有一个典型的ANTLR监听器(如书中所示)并使用C语法文件。我正在重写EnterDeclarationSpecifier并开始行走令牌,即我在听众中创建一个访问者来处理声明。有更简单的方法吗?虽然我即将宣布工作,但如果我对语句采用相同的方法,那似乎太复杂了。