运行 lex 程序时输入问题

运行 lex 程序时输入问题

我在桌面上安装了 VMware。然后我在 VMware 中安装了 Ubuntu 10.10。我为 lex 程序安装了 flex_2.5.35-9_i386.deb 和 m4_1.4.13-3_i386.deb 软件包。我尝试通过终端运行 lex 程序,编译没有问题。但是当我输入输入时,它继续接受它。从未进行处理。输入后显示空白。版本或软件包是否存在某种问题。

答案1

通过输入,您的意思是flex在终端中运行,然后在终端中手动写入词法分析规则?

在这种情况下,您可以使用 EOF(文件结束)字符来指示输入的结束,该字符通过键入 生成Ctrl-d。这也适用于从 读取输入的任何其他终端实用程序stdin

最小示例:

user@host:~ flex
%%

...在文件末尾添加ctrl-d并将输出写入lex.yy.c同一目录。

相关内容