我在桌面上安装了 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
同一目录。