我想知道为什么我在这两条线上一直无法识别


  (\ $ {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}+

关于c - lex文件中无法识别的规则,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40094092/

10-11 22:06