【问题标题】:Best way to define tokens定义令牌的最佳方式
【发布时间】:2015-10-16 13:09:34
【问题描述】:

我正在尝试优化我的 javacc 解析器,但我有一个关于在语法定义中定义标记的问题。

这是好的还是坏的做法?它是否对解析器的性能影响很大。

示例:

void name() :
{
  Token name;
}
{
  name = < NAME : ( < LETTER > | < DIGIT > ){2, 7}>
  {
    System.out.println(name.image);
  }
}

【问题讨论】:

    标签: compiler-construction grammar compiler-optimization lexer javacc


    【解决方案1】:

    它不会影响性能,但会影响可读性和可维护性。请记住,标记定义的顺序可能会对含义产生影响。我建议将所有令牌定义放在前面。

    【讨论】:

      猜你喜欢
      • 2018-08-05
      • 2020-10-27
      • 1970-01-01
      • 2017-08-26
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-14
      相关资源
      最近更新 更多