/**************************************************************************/
/* search_local_symtab() search the local symtab for the current id name. */
/* set a pointer to the entry, else NULL */
#define search_local_symtab(idp) \
idp = search_symtab(word_string, symtab_display[level])
/**************************************************************************/
/**************************************************************************/
/* search_this_symtab() search the given symtab for the current id name. */
/* set a pointer to the entry, else NULL */
#define search_this_symtab(idp, this_symtab) \
idp = search_symtab(word_string, this_symtab)
/**************************************************************************/
/**************************************************************************/
/* search_all_symtab() search the symtab display for the current id name. */
/* set a pointer to the entry, else NULL */
#define search_all_symtab(idp) \
idp = search_symtab_display(word_string)
/**************************************************************************/
/**************************************************************************/
/* search_and_find_all_symtab() search the symtab display for the current */
/* id name. If not found, ID UNDEFINED error, and */
/* enter into the local symtab. */
/* set a pointer to the entry. */
#define search_and_find_all_symtab(idp) \
if ((idp = search_symtab_display(word_string)) == NULL) { \
error(UNDEFINED_IDENTIFIER); \
idp = enter_symtab(word_string, &symtab_display[level]); \
idp->defn.key = UNDEFINED; \
idp->typep = &dummy_type; \
}
/**************************************************************************/
/**************************************************************************/
/* enter_local_symtab() enter the current id name into the local symtab */
/* and set pointer to the entry */
#define enter_local_symtab(idp) \
idp = enter_symtab(word_string, &symtab_display[level])
/**************************************************************************/
/**************************************************************************/
/* enter_name_local_symtab() enter the given name into the local symtab */
/* and set pointer to the entry */
#define enter_name_local_symtab(idp, name) \
idp = enter_symtab(name, &symtab_display[level])
/**************************************************************************/
/**************************************************************************/
/* search_and_enter_local_symtab() search the symtab display for the */
/* current id name. If not found enter it, else */
/* ID REDEFINED error. */
/* set a pointer to the entry. */
#define search_and_enter_local_symtab(idp) \
if ((idp = search_symtab(word_string, symtab_display[level])) == NULL) { \
idp = enter_symtab(word_string, &symtab_display[level]); \
} \
else error(REDEFINED_IDENTIFIER)
/**************************************************************************/
/**************************************************************************/
/* search_and_enter_this_symtab() search the given symtab for the */
/* current id name. If not found enter it, else */
/* ID REDEFINED error. */
/* set a pointer to the entry. */
#define search_and_enter_this_symtab(idp, this_symtab) \
if ((idp = search_symtab(word_string, this_symtab)) == NULL) { \
idp = enter_symtab(word_string, &this_symtab); \
} \
else error(REDEFINED_IDENTIFIER)
/**************************************************************************/