【发布时间】:2014-04-30 09:07:23
【问题描述】:
我正在尝试使用 JavaCC 解析正则表达式,但遇到了整数问题。问题是,有时,在某些作品中,我想将一组数字解释为每个字符,但是,在 (ab){1,20} 之类的东西上,我想将大括号内的数字解释为整数。问题是 JavaCC 正在选择列表中匹配的第一个标记,而不管生产中是否预期该标记。
我有一个令牌 DIGIT 和一个定义为一个或多个 DIGIT 的令牌 INTEGER。如果我优先考虑 DIGIT,它永远不会选择 INTEGER,如果我优先考虑 INTEGER,在我想逐个解释数字的产生式中,它会选择 INTEGER。
我还尝试在期望整数的生产中定义类似 ()+ 的东西,但是我不知道如何将其分配给令牌。有没有办法将整个序列分配给单个标记,或者至少将每个数字附加到一个标记的图像或存储一组标记?
【问题讨论】:
标签: java regex parsing token javacc