int absPrintDb(AbSub sigma) { int rc = absPrint(dbOut, sigma); fnewline(dbOut); return rc; }
int tpossPrintDb(TPoss tp) { int rc = tpossPrint(dbOut, tp); fnewline(dbOut); return rc; }
void tcCheck(TConst tc) { Bool result; AbLogic known; extern AbLogic abCondKnown; listPush(TConst, tc, tcStack); switch (tcTag(tc)) { case TC_Satisfies: known = abCondKnown; abCondKnown = tcKnown(tc); result = tfSatisfies1(tc->ab0, tcArgv(tc)[0], tcArgv(tc)[1]); abCondKnown = known; break; default: bugBadCase(tcTag(tc)); NotReached(result = false); } listPop(TConst, tc, tcStack, tcEq); if (!result) { if (DEBUG(tc)) { tcPrint(dbOut, tc); fnewline(dbOut); } tiTopFns()->terrorTypeConstFailed(tc); } }
int implPrintDb(SImpl impl) { int cc = implPrint(dbOut, impl); fnewline(dbOut); return cc+1; }
inline void newline(void) { fnewline(DEFAULT_UART); }
int tokPrint(FILE *fout, Token t) { String s; int cc; if (!t) return 0; switch (tokTag(t)) { case TK_Id: case TK_Blank: cc = fprintf(fout, "%s", symString(t->val.sym)); break; case TK_Int: case TK_Float: cc = fprintf(fout, "%s", t->val.str); break; case TK_String: cc = fprintf(fout, "\"%s\"", t->val.str); break; case TK_PreDoc: cc = fprintf(fout, "+++%s", t->val.str); break; case TK_PostDoc: cc = fprintf(fout, "++%s", t->val.str); break; case TK_Comment: cc = fprintf(fout, "--%s", t->val.str); break; case TK_SysCmd: cc = fprintf(fout, "%s\n", t->val.str); break; case TK_Error: cc = fprintf(fout, "<Error: %s> ", t->val.str); break; case KW_StartPile: cc = fprintf(fout, "<#pile>\n"); break; case KW_EndPile: cc = fprintf(fout, "<#endpile>\n"); break; case KW_NewLine: cc = fprintf(fout, "<NL>\n"); break; case KW_SetTab: findent += 2; cc = fprintf(fout, "{"); cc += fnewline(fout); break; case KW_BackSet: cc = fprintf(fout, ";"); cc += fnewline(fout); break; case KW_BackTab: findent -= 2; cc = fnewline(fout); cc += fprintf(fout,"}"); break; default: s = keyString(tokTag(t)); cc = fprintf(fout, "|%s|", (s) ? s : "??"); break; } return cc; }