这个简单的词法规范怎么会失败呢?

How come this simple lexical specification fails?

我在 a.flex

中有一个简单的词法规范
%%
username    printf("%s",getlogin());

运行 flex a.flex 给我

a.flex:2: EOF encountered inside an action

有什么想法吗?

这通常发生在 flex 上,因为它对识别线条很挑剔。您将错过文件结尾之前的行尾符号。

使用您的文本编辑器在文件末尾追加一行将解决您的错误。

这可能发生在 Windows 和 unix/linux/Mac 版本的 flex 工具上。