我想定义一组语言结构专有语言的编码规则,
我该怎么办? 非常感谢你
答案 0 :(得分:0)
只使用解析,您的一些规则很容易处理。例如,查找函数中的行数并不难:
void function() : {
int firstLine, lastLine ; }
{
{firstLine = getToken(1).beginLine ; }
...
{lastLine = getToken(0).beginLine ; }
{check( lastLine - firstLine + 1 <= 150 ) ; }
}
其他规则(例如嵌套ifs的示例)最好通过遍历抽象语法树来处理。我建议你看看JJTree。它支持访问者,这对编码您的一些规则非常有用。
答案 1 :(得分:0)
如果我理解正确, 在.jj文件中,我必须添加这个函数,它允许检查方法中的代码行数
或在javacc生成的文件parseur.java中。