Как получить синтаксический анализатор, сгенерированный ANTLR3.5 в C, для работы в среде MVS EBCDIC?

Мы используем ANTLR 3.5.2 в linux для генерации синтаксического анализатора в C. Мы смогли скомпилировать и связать сгенерированный синтаксический анализатор C и среду выполнения ANTLR C в z/OS с компилятором LE C. Конечно, мы бы хотели, чтобы синтаксический анализатор мог работать в среде EBCDIC.

Что нам нужно установить или изменить, чтобы это произошло? Легче ли запускать ANTLR в MVS для получения кода, который выполняется в MVS, или мы можем продолжать генерировать код в Linux и запускать (с небольшими изменениями) в z/OS? Большое спасибо, Тони

1 ответ

Вы можете переключить кодовую страницу сгенерированных файлов на EBCDIC Latin-1, используя:

 ??=pragma filetag ("IBM-1047")

Тогда ваш парсер будет искать символы EBCDIC в правильных кодовых точках. Возможно, вы захотите хорошенько поразить сгенерированный файл, чтобы увидеть, сгенерировал ли ANTLR явные ординалы ASCII (например, с использованием 0x13 вместо символьной CR), и вам может потребоваться исправить их, но это не должно.

Другие вопросы по тегам