我正在 PC 上使用 Cygwin shell 编译 YACC 文件。我得到一个“未知字符\15”。奇怪的是,另一台机器上的同事可以使用相同的 shell 编译完全相同的文件,而不会出现警告或错误。我需要在我的 shell 或编译器中设置某种标志吗?我们正在使用 nmake 和 Visual Studio 编译器。如果需要,我很乐意提供更多信息。
非常感谢你!
检查您的行尾设置。您可能有 CRLF,而 YACC 只需要 LF。CR 是 ASCII 13(八进制的 15)。
当您安装 cygwin 时,您会被询问默认的 EOL(行尾)应该是什么,传统的 unix "\n" 或传统的 dos "\r\n"。我的猜测是您和您的同事对 cygwin 的配置不同。您可能想再次运行 setup.exe 并选择 dos EOL。
八进制 15 是回车。您是否从同事的机器上以文本模式传输文件?