43       SELECT CASE AS CONST .Buf[i]
 
   45       CASE ASC(!
"\n") : Code(NL)
 
   51         IF .Buf[c] = OPT->JoComm 
THEN c += 1 : Code(
"//!" & 
MID(.Buf, c + 1, i - c))
 
   52         IF .Buf[c] = OPT->AdLine 
THEN c += 1 : Code(
MID(.Buf, c + 1, i - c))
 
   54       CASE ASC(
"/") : 
IF .Buf[i + 1] <> 
ASC(
"'") 
THEN EXIT SELECT 
   56         VAR c = 
IIF(.Buf[i] = OPT->JoComm, i + 1, 0)
 
   59           SELECT CASE AS CONST .Buf[i]
 
   61           CASE ASC(!
"\n") : 
IF 0 = c 
THEN Code(NL) : 
EXIT SELECT 
   62             Code(
MID(.Buf, c + 1, i - c + 1))
 
   64             IF OPT->Asterix 
THEN Code(
"* ")
 
   66             SELECT CASE AS CONST .Buf[i + 1]
 
   68             CASE ASC(
"/") : i += 1 : 
EXIT DO 
   72         IF c 
THEN Code(
MID(.Buf, c + 1, i - c - 1) & 
"*/")
 
   74     WEND : 
IF .SrcBgn < i 
THEN .SrcBgn = i
 
   94       SELECT CASE AS CONST *t
 
   95       CASE  .TOK_DOT : Code(
"::")
 
   96       CASE .TOK_WORD : Code(.
SubStr(t))
 
   97       CASE ELSE : 
EXIT WHILE 
  115     FOR i 
AS INTEGER = 1 
TO .PtrCount : Code(
"*") : 
NEXT 
  116     VAR t = .NamTok, a = t[1], l = t[2]
 
  119       SELECT CASE AS CONST *t
 
  120       CASE .TOK_DOT, .TOK_WORD : l += t[2]
 
  121       CASE ELSE : 
EXIT WHILE 
  123     WEND : Code(
MID(.Buf, a + 1, l))
 
  137     VAR kl = 0, i = .IniTok[1], a = i, e = 0, atc = 0
 
  141       SELECT CASE AS CONST .Buf[i]
 
  144         Code(
MID(.Buf, a + 1, 
IIF(e, e, i) - a))
 
  146         IF kl <= 0 
ANDALSO (e = 0 
ORELSE .Buf[e] <> 
ASC(
"_")) 
THEN EXIT SUB 
  150         IF kl <= 0 
THEN atc = i
 
  152         IF .Buf[i + 1] < 
ASC(
"0") 
ANDALSO .Buf[i - 1] < 
ASC(
"0") 
THEN e = 
IIF(e, e, i)
 
  156         IF .Buf[i + 1] = 
ASC(
"'") 
THEN e = 
IIF(e, e, i)
 
  158         VAR esc = 
IIF(.Buf[i - 1] = 
ASC(
"!"), 1, 0)
 
  159         IF atc 
THEN .Buf[atc] = 
ASC(
" ")
 
  162           SELECT CASE AS CONST .Buf[i]
 
  163           CASE 0, 
ASC(!
"\n") : i -= 1 : 
EXIT DO 
  164           CASE ASC(
"\") : 
IF esc 
THEN i += 1
 
  165           CASE ASC(
"""") : 
IF .Buf[i + 1] = 
ASC(
"""") 
THEN i += 1 
ELSE EXIT DO 
  168       CASE ASC(
"("), 
ASC(
"{"), 
ASC(
"[") : kl += 1
 
  169       CASE ASC(
")"), 
ASC(
"}"), 
ASC(
"]") : kl -= 1 : 
IF kl <  0 
THEN EXIT DO 
  170       CASE ASC(
",")                               : 
IF kl <= 0 
THEN EXIT DO 
  172     LOOP UNTIL i >= .EndTok[1] : 
IF i <= a 
THEN EXIT SUB 
  173     Code(
MID(.Buf, a + 1, 
IIF(e, e, i) - a))
 
  174     IF atc 
THEN .Buf[atc] = 
ASC(
"@")
 
  189     VAR t = .DimTok, kl = 0
 
  191       SELECT CASE AS CONST *t
 
  193         SELECT CASE AS CONST t[-3]
 
  194         CASE .TOK_3DOT, .TOK_ANY : Code(
"][")
 
  195         CASE ELSE :                Code(
" + 1][")
 
  197       CASE .TOK_BROPN : kl += 1 : Code(
"[")
 
  198         IF t[3] = .TOK_COMMA 
ORELSE t[3] = .TOK_BRCLO 
THEN _
 
  199           Code(
MID(.Buf, t[1] + 2, t[4] - t[1] - 1))
 
  200       CASE .TOK_BRCLO : kl -= 1
 
  201         SELECT CASE AS CONST t[-3]
 
  202         CASE .TOK_3DOT, .TOK_ANY : Code(
"]")
 
  203         CASE ELSE :                Code(
" + 1]")
 
  205         IF kl <= 0 
THEN EXIT DO 
  206       CASE ELSE                 : Code(.
SubStr(t))
 
  208     LOOP UNTIL t >= .EndTok
 
  240       IF .ShaTok 
THEN Code(.
SubStr(.ShaTok) & 
"_")
 
  241       IF .Co1Tok 
THEN Code(.
SubStr(.Co1Tok) & 
"_")
 
  243       IF .Co2Tok 
THEN Code(
"_" & .
SubStr(.Co2Tok))
 
  244       FOR i 
AS INTEGER = 1 
TO .PtrCount
 
  245                       Code(
"_" & .
SubStr(.PtrTok)) : 
NEXT 
  246       IF .NamTok 
THEN Code(
" ") 
ELSE EXIT SUB 
  251     IF .NamTok > .TypTok _
 
  256     IF .BitTok 
THEN   Code(.BitIni)
 
  290       IF .Co1Tok 
THEN             Code(
"const ")
 
  292       SELECT CASE AS CONST *.TypTok
 
  293       CASE            .TOK_BYTE : Code(
"signed char")
 
  294       CASE            .TOK_UBYT : Code(
"unsigned char")
 
  295       CASE            .TOK_SHOR : Code(
"short")
 
  296       CASE            .TOK_USHO : Code(
"unsigned short")
 
  297       CASE            .TOK_STRI : Code(
"char*") 
 
  298       CASE            .TOK_SING : Code(
"float")
 
  299       CASE            .TOK_DOUB : Code(
"double")
 
  300       CASE            .TOK_ZSTR : Code(
"char")
 
  301       CASE            .TOK_WSTR : Code(
"wchar")
 
  302       CASE .TOK_INT,  .TOK_LONG : Code(
"int")
 
  303       CASE .TOK_UINT, .TOK_ULNG : Code(
"unsigned int")
 
  304       CASE            .TOK_LINT : Code(
"LONG int")
 
  305       CASE            .TOK_ULIN : Code(
"unsigned LONG int")
 
  306       CASE ELSE                 : Code(.
SubStr(.TypTok))
 
  309       IF .Co2Tok 
THEN             Code(
" " & .
SubStr(.Co2Tok))
 
  310       IF .By_Tok 
ANDALSO *.By_Tok = .TOK_BYRE 
THEN .PtrCount += 1
 
  311       IF .NamTok 
THEN Code(
" ") 
ELSE EXIT SUB 
  314     IF .NamTok > .TypTok _
 
  317     SELECT CASE AS CONST *.StaTok
 
  318     CASE .TOK_TYPE, .TOK_DIM, .TOK_RDIM, .TOK_COMM, .TOK_EXRN
 
  319       IF .FunTok 
THEN Code(
"(") : 
cNam(P) : Code(
")") : 
EXIT SUB 
  321     IF .NamTok 
THEN cNam(P)
 
  322     IF .BitTok 
THEN Code(.BitIni)
 
  346       IF .By_Tok 
THEN Code(.
SubStr(.By_Tok) & 
"_")
 
  347       IF .DivTok 
THEN Code(
"_" & .
SubStr(.DivTok))
 
  350       IF .By_Tok 
THEN Code(.
SubStr(.By_Tok) & 
"_")
 
  351       Code(.
SubStr(.As_Tok) & 
"_")
 
  353     ELSEIF *.NamTok = .TOK_3DOT 
THEN 
  354       Code(
"...)") : 
EXIT SUB 
  357     IF *.CurTok <> .TOK_BRCLO      
THEN Code(
", ") : 
EXIT SUB 
  385     ELSEIF .NamTok = .TOK_3DOT 
THEN 
  391     IF *.CurTok <> .TOK_BRCLO      
THEN Code(
", ") : 
EXIT SUB 
  411     IF .DivTok 
THEN Code(
LCASE(.
SubStr(.DivTok)) & 
" ")
 
  413     SELECT CASE AS CONST *.FunTok
 
  415       IF .NamTok 
THEN Code(.
SubStr(.NamTok) & 
"::" & .
SubStr(.NamTok)) 
ELSE _
 
  418       IF .NamTok 
THEN Code(.
SubStr(.NamTok) & 
"::~" & .
SubStr(.NamTok)) 
ELSE _
 
  419                       Code(
"~" & .BlockNam)
 
  422       IF .CalTok 
THEN Code(
"_" & .
SubStr(.CalTok))
 
  423       IF .AliTok 
THEN Code(
"_" & .
SubStr(.AliTok))
 
  424       IF .TypTok 
ANDALSO .As_Tok 
THEN _
 
  425                       Code(
"_" & .
SubStr(.As_Tok) & 
"_")
 
  427     END SELECT : 
IF 0 = .ParTok 
THEN Code(
"(void)") : 
EXIT SUB 
  432     IF .ListCount <= 0 
THEN Code(
")")
 
  451     IF .DivTok 
THEN Code(.
SubStr(.DivTok) & 
" ")
 
  453     SELECT CASE AS CONST *.FunTok
 
  455       Code(.
SubStr(.FunTok) & 
" ")
 
  456       IF .NamTok 
THEN Code(.
SubStr(.NamTok) & 
"." & .
SubStr(.NamTok)) _
 
  459       Code(.
SubStr(.FunTok) & 
" ")
 
  460       IF .NamTok 
THEN Code(.
SubStr(.NamTok) & 
"." & .
SubStr(.NamTok)) _
 
  463       IF 0 = .TypTok 
THEN Code(
"void ")
 
  465     END SELECT : 
IF 0 = .ParTok 
THEN Code(
"(void)") : 
EXIT SUB 
  470     IF .ListCount <= 0 
THEN Code(
"void)")
 
  486     SELECT CASE AS CONST OPT->RunMode
 
  488       Code(NL & 
"'!!! " & PROJ_NAME & .ErrMsg & 
"!" & NL)
 
  490       ERROUT(
"==> " & PROJ_NAME & .ErrMsg & 
"!")
 
  508     DO : 
IF E > 0 
THEN E -= 1 
ELSE EXIT SUB 
  509     LOOP UNTIL .Buf[E] = 
ASC(!
"\n")
 
  510     VAR a = .SrcBgn, l = E - a : .SrcBgn = E + 1
 
  511     Code(
MID(.Buf, a + 1, l + 1))
 
  537     Code(
MID(.Buf, .SrcBgn + 1))