lex 文件中无法识别的规则

Unrecognized Rule in lex file

我想知道为什么我在这两行

上总是收到无法识别的 运行

(${number})

({number})

我不确定为什么会这样,我相信我的别名是正确的,但如果有人能仔细检查,我将不胜感激。

Flex 不是 C,它使用自己的语言。一种空格很重要并且所有注释都需要自己的行的语言。所以:去掉定义后的行注释。

/* Does not work */
letter [A-Za-z]
digit [0-9]
number ({digit})+(\.)?({digit})* // TODO: complete
word {letter}+ // TODO: complete


/* Does work */
letter [A-Za-z]
digit [0-9]
number ({digit})+(\.)?({digit})*
word {letter}+