[ InfixExamineP brief x a b w flag lines; switch(infix_term_type) { INFIXTT_NUMBER: if (brief) "; == ", noun; print "; The number ", noun, " == $", (InfixHex) noun; if (noun >= 32 && noun < 127) print " == '", (char) noun, "'"; new_line; INFIXTT_NAMEDOBJECT: print "~", (name) noun, "~ (", noun, ")^"; if (brief) return; <>; INFIXTT_CONSTANT: if (brief) "; == ", noun; switch(infix_data1 & 15) { nothing: print "; Constant ", (InfixPrintConstant) infix_parsed_lvalue, " == ", noun, "^"; Object: <>; Class: print "Class ", (name) noun, "^"; objectloop (a ofclass noun) { if (flag) print ", "; else print "Contains: "; print (name) a, " (", a, ")"; flag=true; } if (flag==false) "No object is of this class"; } new_line; INFIXTT_ATTRIBUTE: if (brief) "; == ", noun; if (noun>=48 || noun<0) "; No such attribute"; print "; Attribute ", (InfixPrintAttribute) noun, " (numbered ", noun, ")^"; objectloop (x has noun) { if (flag) print ", "; else print "Each of these ~has ", (InfixPrintAttribute) noun, "~: "; print (name) x, " (", x, ")"; flag = true; } if (flag == false) "No object ~has ", (InfixPrintAttribute) noun, "~"; new_line; INFIXTT_PROPERTY: if (brief) "; == ", noun; print "; Property ", (property) noun, " (numbered ", noun, ")^"; objectloop (x provides noun) { if (flag) print ", "; else print "Provided by: "; print (name) x, " (", x, ")"; flag = true; } if (flag == false) "Which is not provided by any object"; new_line; INFIXTT_DWORD: if (brief) "; == ", noun; if (noun == 0) "; This word is not in the dictionary"; a = noun->#dict_par1; print "; Dictionary word '", (address) noun; if (a & 4) print "//p"; print "' (address ", noun, ")"; if (a) { print ": "; if (a & 2) print "meta "; if (a & 1) print "verb "; if (a & 8) print "preposition "; if (a & 4) print "pluralising "; if (a & 128) print "noun "; } new_line; if (a & 1) <>; INFIXTT_ROUTINE: if (brief) "; == ", noun; print "; Routine ", (InfixPrintRoutine) infix_parsed_lvalue, " (number ", infix_parsed_lvalue, ", packed address ", noun, ")^"; INFIXTT_GLOBAL: if (brief) "; == ", noun; print "; Global ", (InfixPrintGlobal) infix_parsed_lvalue, " == ", noun, "^"; INFIXTT_ARRAY: if (brief) "; == ", noun; print "; Array ", (InfixPrintArray) infix_parsed_lvalue, " "; infix_data1 = infix_data1 % 16; switch(infix_data1) { 0: print "->"; a=0; 1: print "-->"; a=0; 2: print "string"; a=1; 3: print "table"; a=1; } print " ", infix_data2, "^; == "; b=infix_data2; if (x) b++; for (w=b-1:w>=a:w--) if (infix_data1 == 0 or 2) { if (noun->w) break; } else { if (noun-->w) break; } if (b-1-w <= 5) w=b-1; for (:x<=w:x++) if (infix_data1 == 0 or 2) print noun->x, " "; else print noun-->x, " "; if (w= #lowest_fake_action_number && noun <= #highest_fake_action_number) "; Fake action ", (InfixPrintFakeAction) noun, " (numbered ", noun, ")^Is not generated by any grammar"; print "; Action ", (InfixPrintAction) noun, " (numbered ", noun, ")^"; w = 0-->4; for (b=0:b<(0-->4 + 5)-->0:b++) { w = 0-->4 + 7 + b*9; if ((w->#dict_par1) & 1) { a = (0-->7)-->($ff-(w->#dict_par2)); lines = a->0; a++; for (:lines > 0:lines--) { a = UnpackGrammarLine(a); if (action_to_be == noun) { print "'", (address) w, "' "; DebugGrammarLine(); new_line; flag = true; } } } } if (flag == 0) "Is not generated by any grammar"; INFIXTT_SYSFUN: if (brief) "; == ", noun; "; System function ~", (address) infix_parsed_lvalue, "~ has not been overridden by any routine and so has its standard definition."; INFIXTT_STATICSTRING: if (brief) "; == ", noun; if (metaclass(noun) ~= String) "; ", noun, " is not a string."; print "~", (string) noun, "~^"; INFIXTT_LOGICAL: if (noun==true) "; true"; if (noun==false) "; false"; "; ", noun; } ];