我正在尝试优化我的javacc解析器,我有一个关于在语法定义中定义标记的问题。
这是好的实践还是坏的实践?它对解析器的性能有很大的影响吗?
示例:
void name() :
{
Token name;
}
{
name = < NAME : ( < LETTER > | < DIGIT > ){2, 7}>
{
System.out.println(name.image);
}
}发布于 2015-10-18 18:22:56
它不会影响性能,但会影响可读性和可维护性。请记住,令牌定义的顺序可能会对含义产生影响。我建议把所有的标记定义放在前面。
https://stackoverflow.com/questions/33171356
复制相似问题