我们在 Linux 上使用 ANTLR 3.5.2 在 C 中生成解析器。我们已经能够使用 LE C 编译器编译和链接生成的 C 解析器和 z/OS 上的 ANTLR C 运行时。当然,我们希望解析器能够在 EBCDIC 环境中工作。
我们需要设置或修改什么才能实现这一点?在 MVS 上运行 ANTLR 以获得在 MVS 上运行的代码更容易,还是我们可以继续在 Linux 上生成代码并在 z/OS 上运行(稍作修改)? 非常感谢, 托尼
最佳答案
您可以使用以下方法将生成文件的代码页切换为 EBCDIC Latin-1:
??=pragma filetag ("IBM-1047")
然后您的解析器将在正确的代码点搜索 EBCDIC 字符。您可能希望仔细观察生成的文件,看看 ANTLR 是否生成了明确的 ASCII 序号(例如,使用 0x13 而不是 CR 符号),您可能需要修复它们,但它不应该。
关于c - 如何让 ANTLR3.5 在 C 中生成的解析器在 MVS EBCDIC 环境中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28728160/