【问题标题】:YACC compile errorYACC 编译错误
【发布时间】:2009-05-25 21:58:06
【问题描述】:

我正在 PC 上使用 Cygwin shell 编译 YACC 文件。我得到一个“未知字符\15”。奇怪的是,另一台机器上的同事可以使用相同的 shell 编译完全相同的文件,而不会出现警告或错误。我需要在我的 shell 或编译器中设置某种标志吗?我们正在使用 nmake 和 Visual Studio 编译器。如果需要,我很乐意提供更多信息。

非常感谢!

【问题讨论】:

  • 我不确定那是他生成解析器的时候,还是他解析某些东西的时候……我认为这是一个解析错误……不过需要更多信息……

标签: yacc nmake newline


【解决方案1】:

检查您的行尾设置。您可能有 CRLF,而 YACC 只需要 LF。 CR 是 ASCII 13(八进制的 15)。

【讨论】:

    【解决方案2】:

    当您安装 cygwin 时,系统会询问您默认的 EOL(行尾)应该是什么,传统的 unix "\n" 或传统的 dos "\r\n"。我的猜测是您和您的同事对 cygwin 的配置不同。您可能想再次运行 setup.exe 并选择 dos EOL。

    【讨论】:

    • 或者,更可能的是,选择非 DOS (Unix) 行结尾,因为抱怨是关于 ^M 存在。
    • 我的期望是 yacc 可能会在源代码中接受回车而不抱怨。但当然,修复源是最可靠的做法。
    【解决方案3】:

    八进制 15 是回车。您是否从同事的机器上以文本模式传输文件?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-23
      • 1970-01-01
      • 2017-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-01
      相关资源
      最近更新 更多