in interpreters/bas/bas_token.c [4696:4884]
void Token_destroy(struct Token *token) /*{{{*/
{
struct Token *r=token;
do
{
switch (r->type)
{
case T_ACCESS_READ: break;
case T_ACCESS_WRITE: break;
case T_AND: break;
case T_AS: break;
case T_CALL: break;
case T_CASEELSE:
case T_CASEVALUE: free(r->u.casevalue); break;
case T_CHANNEL: break;
case T_CHDIR: break;
case T_CLEAR: break;
case T_CLOSE: break;
case T_CLS: break;
case T_COLON: break;
case T_COLOR: break;
case T_COMMA: break;
case T_CON: break;
case T_COPY: break;
case T_CP: break;
case T_DATA: break;
case T_DATAINPUT: free(r->u.datainput); break;
case T_DEC: break;
case T_DEFFN: break;
case T_DEFDBL: break;
case T_DEFINT: break;
case T_DEFPROC: break;
case T_DEFSTR: break;
case T_DELETE: break;
case T_DIM: break;
case T_DISPLAY: break;
case T_DIV: break;
case T_DO: break;
case T_DOUNTIL: break;
case T_DOWHILE: break;
case T_EDIT: break;
case T_ELSE: break;
case T_ELSEIFELSE: break;
case T_ELSEIFIF: break;
case T_END: break;
case T_ENDFN: break;
case T_ENDIF: break;
case T_ENDPROC: break;
case T_ENDSELECT: break;
case T_ENVIRON: break;
case T_EOL: break;
case T_EQ: break;
case T_EQV: break;
case T_ERASE: break;
case T_EXITDO: break;
case T_EXITFOR: break;
case T_FIELD: break;
case T_FNEND: break;
case T_FNEXIT: break;
case T_FNRETURN: break;
case T_FOR: break;
case T_FOR_INPUT: break;
case T_FOR_OUTPUT: break;
case T_FOR_APPEND: break;
case T_FOR_RANDOM: break;
case T_FOR_BINARY: break;
case T_FUNCTION: break;
case T_GE: break;
case T_GET: break;
case T_GOSUB: break;
case T_GOTO: break;
case T_GT: break;
case T_HEXINTEGER: break;
case T_OCTINTEGER: break;
case T_IDENTIFIER: free(r->u.identifier); break;
case T_IDIV: break;
case T_IDN: break;
case T_IF: break;
case T_IMAGE: break;
case T_IMP: break;
case T_INC: break;
case T_INPUT: break;
case T_INTEGER: break;
case T_INV: break;
case T_IS: break;
case T_JUNK: break;
case T_KILL: break;
case T_LE: break;
case T_LET: break;
case T_LINEINPUT: break;
case T_LIST: break;
case T_LLIST: break;
case T_LOAD: break;
case T_LOCAL: break;
case T_LOCATE: break;
case T_LOCK: break;
case T_LOCK_READ: break;
case T_LOCK_WRITE: break;
case T_LOOP: break;
case T_LOOPUNTIL: break;
case T_LPRINT: break;
case T_LSET: break;
case T_LT: break;
case T_MAT: break;
case T_MATINPUT: break;
case T_MATPRINT: break;
case T_MATREAD: break;
case T_MATREDIM: break;
case T_MATWRITE: break;
case T_MINUS: break;
case T_MKDIR: break;
case T_MOD: break;
case T_MULT: break;
case T_NAME: break;
case T_NE: break;
case T_NEW: break;
case T_NEXT: free(r->u.next); break;
case T_NOT: break;
case T_ON: if (r->u.on.pc) free(r->u.on.pc); break;
case T_ONERROR: break;
case T_ONERRORGOTO0: break;
case T_ONERROROFF: break;
case T_OP: break;
case T_OPEN: break;
case T_OPTIONBASE: break;
case T_OPTIONRUN: break;
case T_OPTIONSTOP: break;
case T_OR: break;
case T_OUT: break;
case T_PLUS: break;
case T_POKE: break;
case T_POW: break;
case T_PRINT: break;
case T_PUT: break;
case T_QUOTE: free(r->u.rem); break;
case T_RANDOMIZE: break;
case T_READ: break;
case T_REAL: break;
case T_REM: free(r->u.rem); break;
case T_RENAME: break;
case T_RENUM: break;
case T_REPEAT: break;
case T_RESTORE: break;
case T_RESUME: break;
case T_RETURN: break;
case T_RSET: break;
case T_RUN: break;
case T_SAVE: break;
case T_SELECTCASE: free(r->u.selectcase); break;
case T_SEMICOLON: break;
case T_SHARED: break;
case T_SHELL: break;
case T_SLEEP: break;
case T_SPC: break;
case T_STEP: break;
case T_STOP: break;
case T_STRING: String_destroy(r->u.string); free(r->u.string); break;
case T_SUB: break;
case T_SUBEND: break;
case T_SUBEXIT: break;
case T_SWAP: break;
case T_SYSTEM: break;
case T_TAB: break;
case T_THEN: break;
case T_TO: break;
case T_TRN: break;
case T_TROFF: break;
case T_TRON: break;
case T_TRUNCATE: break;
case T_UNLOCK: break;
case T_UNNUM: break;
case T_UNNUMBERED: break;
case T_UNTIL: break;
case T_USING: break;
case T_WAIT: break;
case T_WEND: free(r->u.whilepc); break;
case T_WHILE: free(r->u.afterwend); break;
case T_WIDTH: break;
case T_WRITE: break;
case T_XOR: break;
case T_XREF: break;
case T_ZER: break;
case T_ZONE: break;
default: assert(0);
}
} while ((r++)->type!=T_EOL);
free(token);
}