void jam_free_stack(void) { if ((jam_stack != NULL) && (jam_workspace == NULL)) { jam_free(jam_stack); } }
void jam_free_symbol_table() { int hash = 0; JAMS_SYMBOL_RECORD *symbol_record = NULL; JAMS_SYMBOL_RECORD *next = NULL; if ((jam_symbol_table != NULL) && (jam_workspace == NULL)) { for (hash = 0; hash < JAMC_MAX_SYMBOL_COUNT; ++hash) { symbol_record = jam_symbol_table[hash]; while (symbol_record != NULL) { next = symbol_record->next; jam_free(symbol_record); symbol_record = next; } } jam_free(jam_symbol_table); } }