Walter said:
No, I haven't. Nor has anyone I've worked with.
I suppose one can get used to anything <g>.
Do you need to run non-trigraph C code through a source translater to
get it on to your z/OS system?
Not so much to _get_ the source text to the mainframe but for it to be
usable it'll need to be in EBCDIC.
A standard ASCII to EBCDIC conversion utility (like one used in a
typical terminal emulator) that uploads source text from a PC to the
mainframe will see the '[' as 0x5B and the ']' as 0x5D and will
translate them to the EBCDIC '[' as 0xAD and EBCDIC ']' as 0xBD.
so the ASCII text statement:
char x[8]; which in ASCII is
0x63 0x68 0x61 0x72 0x20 0x78 0x5B 0x38 0x5D 0x3B
will be translated in a "typical" terminal emulator utility to:
0x83 0x88 0x81 0x99 0x40 0xA7 0xAD 0xF8 0xBD 0x5E
but on the screen that looks like:
char xÝ8¨; and not char x[8];
this compiles but looks horrible on the screen and you can't type those
characters when you edit, you have to copy and paste those characters
(or create a macro). Even though the '[' and ']' exist in EBCDIC the
3270 family of terminals do not have those characters to type in or to
display.
If I manually change the characters Ý and ¨ using the terminal
emulator keyboard to '[' and ']', which the Windows keyboard has, the
encoding becomes 0xBA for '[' and 0xBB for ']' and you have
0x83 0x88 0x81 0x99 0x40 0xA7 0xBA 0xF8 0xBB 0x5E
which becomes a syntax error and won't compile.
Our code base apparently contains "vendor" supplied source in the char
xÝ8¨; format and "home grown" (and IBM supplied sample) source in the
char x??(8??); format. We don't normally modify the vendor source so
there isn't any need to replace the ugly "screen" characters with
trigraphs but the "home grown" code is edited much more frequently and
I've become used to dealing with trigraphs.