在 OS X 上编译 Lex 程序

Compiling a Lex program on OS X

有没有人能更好地告诉我如何在终端的 OS X 上成功编译 Lex 源文件。我在 HelloWorld.l 中写了以下内容:

%%

"hello world"    printf("GOODBYE\n");
.                ;

%%

在控制台中,我执行了 lex HelloWorld.l,然后是 gcc lex.yy.c -ll./a.out,在我的 window 中接收到空白状态,但没有结果。

我的知识来自于来源 [1] and similar Stack question [2]

flex,默认情况下,将从标准输入读取。您实际上需要为它提供一些输入。您可以执行 echo "hello world" | ./a.out,您应该会看到结果。