This section provides supplemental information about writing PL/I language elements using DBCS. Definitions of the language elements in this section and general usage rules appear in corresponding sections in Statement elements for SBCS.
The following is a list of the language elements that may be coded using DBCS, an explanation of the rules, and examples of usage.
dcl Eof /* in SBCS, is the same as */ dcl <.E.o.f> /* this in DBCS. */ dcl <kkkk>X /* these are all the same, where */ dcl <kkkk.X> /* kk is a valid */ dcl <kkkk>x /* DBCS character */ dcl <kkkk.x> /* */
/* comment */ /* all SBCS */ /* <.T.y.p.ekk> */ /* DBCS text */
Comment delimiters must be specified in SBCS.
If the string is enclosed in SBCS quotes, then it is not necessary to end the string with an M suffix.
Any DBCS data inside the quotes is not converted to SBCS; it and any shift codes are stored as is in the internal representation of the string.
'<.a.b.c>'M '<.I.B.M.'.S>'M '<.I.B.M>''<.S>'M 'IBM<kk>'M
'<.a.b.c>'G /* 6 byte graphic constant */ '<.I.B.M.'.S>'G /* 10 byte graphic constant .I.B.M.'.S */G literals can start and end with DBCS quotes, and in that case, the G itself can also be specified in DBCS. So, the following are all equivalent
'<.a.b.c>'G <.'.a.b.c.'>G <.'.a.b.c.'.G>