使用ANTLR 4解析smali文件

时间:2016-12-04 09:11:27

标签: antlr4 smali

我正在学习使用ANTLR 4来解析smali文件。 我在解析方法参数列表时遇到了问题,我不知道如何描述问题,所以我直接粘贴了语法文件和截图。 语法MethodTest;

methodList : method*;

method
    :'.method'

     methodModifiers
     Identifier
     '(' methodParameterList ')'
     methodReturnValueType

     '.end method'
    ;

methodReturnValueType : primitiveType;

methodModifiers : modifier*;

modifier : 'public' | 'private' | 'final';

methodParameterList : methodParameter;

methodParameter : primitiveType*;

primitiveType : 'I' | 'J' | 'Z' | 'V' | 'B';

Identifier : [a-zA-Z_]+;


WS : [ \r\n\t] -> skip;

给定的样本输入如下:

.method public test(IIII)V
.end method

enter image description here

然后我将示例输入修改为如下所示:

.method public test(I I I I)V
.end method

enter image description here

然后它工作正常。 这就是问题所在,我该如何修复它。

0 个答案:

没有答案