/* copyrighted by Isaac Tsai 1996, 1997, 1998, 1999 */ #define PR(xxx) { switch(xxx) { \ case HINT_LINE: printf("[HINT]"); break; \ case EXPLAIN_LINE: printf("[EXPLAIN]"); break; \ case IMPORT_LINE: printf("[IMPORT]"); break; \ case CAPA_LET: printf("[LET]"); break; \ case CAPA_DEF: printf("[DEF]"); break; \ case CAPA_DIS: printf("[DIS"); break; \ case CAPA_MAP: printf("[MAP"); break; \ case CAPA_ANS: printf("[ANS]"); break; \ case CAPA_END: printf("[QUIT]"); break; \ case CAPA_FIG: printf("[FIG]"); break; \ case TEXT_LINE: printf("[TEXT]"); break; \ case R_CONSTANT: printf("[REAL]"); break; \ case I_CONSTANT: printf("[INTEGER]"); break; \ case S_CONSTANT: printf("[STRING]"); break; \ case IDENTIFIER: printf("[IDENTIFIER]"); break; \ case FUNCTION_ID: printf("[FUNCTION]"); break; \ case CAPA_VAR: printf("[VAR!"); break; \ case CAPA_ESC: printf("[ESC]"); break; \ case ANS_SIG: printf("[SIG]"); break; \ case ANS_COMPARE: printf("[STR]"); break; \ case ANS_TOLERANCE: printf("[TOLERANCE]"); break; \ case ANS_WEIGHT: printf("[WEIGHT]"); break; \ case ANS_PLUS: printf("[PLUS]"); break; \ case ANS_MINUS: printf("[MINUS]"); break; \ case ANS_CS: printf("[CS]"); break; \ case ANS_CI: printf("[CI]"); break; \ case ANS_MC: printf("[MC]"); break; \ case ANS_PCREDIT: printf("[HGR]"); break; \ case ANS_ON: printf("[ON]"); break; \ case ANS_OFF: printf("[OFF]"); break; \ case ANS_TRY: printf("[TRY]"); break; \ case ANS_RANGE: printf("[RANGE]"); break; \ case EQ_op: printf("[EQ]"); break; \ case NE_op: printf("[NE]"); break; \ case GT_op: printf("[GT]"); break; \ case GE_op: printf("[GE]"); break; \ case LT_op: printf("[LT]"); break; \ case LE_op: printf("[LE]"); break; \ case AND_op: printf("[AND]"); break; \ case OR_op: printf("[OR]"); break; \ case FORMAT: printf("[FORMAT]"); break; \ case SLASH: printf("[/]"); break; \ default: printf("[%c]",xxx); break; \ } } #ifdef DBUG_LEXER #define RETURN(yyy) { PR(yyy); return(yyy); } #else #define RETURN(xxx) { return(xxx); } #endif