我在Windows上使用flex for cygwin包来构建词法分析器。 我创建了带有规则的文件test.lex 当我在命令行中使用此命令时
flex -i test.lex
cc lex.yy.c -lfl
./a
工作正常。但是当我尝试使用此命令生成sh文件(compile_flex.sh)并运行文件
时./compile_flex.sh
我收到了错误
flex: can't open test.lex
我尝试将不同的路径放到我的文件
~/test.lex
/home/user/test.lex
c:\\cygwin64\\home\\user\\test.lex
但它不起作用!我总是收到没有找到文件的消息。 当我把命令
vi test.lex
在我的.sh文件中,它运行良好,文件在vim中打开
答案 0 :(得分:1)
我想出了我的问题。我使用Windows编辑器(记事本++)来创建.sh文件。当我在首选项中将行分隔符从\ n \ r更改为\ n时,它工作正常