lex文件中

时间:2016-10-17 19:22:21

标签: c lex

我想知道为什么我会继续在这两行上获得无法识别的运行

  

(\ $ {数})

     

({数})

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

1 个答案:

答案 0 :(得分:1)

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}+