[ InfixMatchPrule PrintingRule range1 range2 wa wl t i i2 it2 itlc j k plus; itlc = infix_tolowercase; if (itlc->255 == 0) { for (j=0:j<256:j++) itlc->j = j; itlc->'A' = 'a'; itlc->'B' = 'b'; itlc->'C' = 'c'; itlc->'D' = 'd'; itlc->'E' = 'e'; itlc->'F' = 'f'; itlc->'G' = 'g'; itlc->'H' = 'h'; itlc->'I' = 'i'; itlc->'J' = 'j'; itlc->'K' = 'k'; itlc->'L' = 'l'; itlc->'M' = 'm'; itlc->'N' = 'n'; itlc->'O' = 'o'; itlc->'P' = 'p'; itlc->'Q' = 'q'; itlc->'R' = 'r'; itlc->'S' = 's'; itlc->'T' = 't'; itlc->'U' = 'u'; itlc->'V' = 'v'; itlc->'W' = 'w'; itlc->'X' = 'x'; itlc->'Y' = 'y'; itlc->'Z' = 'z'; } switch(PrintingRule) { InfixPrintAttribute: if (wa->0 == '~') { wl--; wa++; plus = 100; } ! A tilde t = #attribute_names_array; InfixPrintProperty: t = #property_names_array; InfixPrintAction: t = #action_names_array; InfixPrintFakeAction: t = #fake_action_names_array; InfixPrintGlobal: t = #global_names_array; InfixPrintRoutine: t = #routine_names_array; InfixPrintAction: t = #constant_names_array; InfixPrintArray: t = #array_names_array; } i2 = range2-range1; it2 = infix_text+2; for (i=0: i<=i2: i++) { infix_text-->0 = 62; @output_stream 3 infix_text; if (t) print (string) t-->i; else PrintingRule(i+range1); @output_stream -3; k = infix_text-->0; if (k ~= wl) jump XL; if (itlc->(it2->0) ~= wa->0) jump XL; for (j=1:j(it2->j) ~= wa->j) jump XL; parsed_number = i + range1 + plus; rtrue; .XL; } rfalse; ];