如何使用flex选项-o( - output = FILE)

Bec*_*ter 3 flex-lexer

我在尝试时遇到了一个问题flex abcd.l.我想将输出重定向到一个新文件,而不是lex.yy.c 我在手动查找选项时查找的默认文件,-o(--output=FILE)因此我将命令更改为flex xx.l -o lex.yy.1.c但发生错误.

flex: can't open --outfile=lex.yy.1.c
/usr/bin/m4:stdin:2621: ERROR: end of file in string
Run Code Online (Sandbox Code Playgroud)

我的工作环境是cygwinwindows 7

ric*_*ici 6

您需要位置参数之前放置命令行选项:

flex -o lex.yy.1.c xx.l
Run Code Online (Sandbox Code Playgroud)

一旦识别出位置(文件名)参数,flex就假定所有后面的参数也是文件名.这是命令行实用程序的常规参数处理形式,尽管有些(例如gcc)允许选项遵循文件名.

(就个人而言,我建议使用类似的文件名xx.lex.c,但原理是一样的.)