28 lines
1.5 KiB
C
28 lines
1.5 KiB
C
#ifndef LOOKUPS_H_
|
|
#define LOOKUPS_H_
|
|
|
|
conditionType lookupConditionCode (char *s, int hashValue);
|
|
int lookupKeyword (char *s, int hashValue);
|
|
macroTableEntryType *lookupMacroName (char *s, int hashValue);
|
|
opcodeTableEntryType *lookupOpcode (char *s, int hashValue);
|
|
symbolTableEntryType *lookupOrEnterSymbol (stringType *s, symbolUsageKindType kind);
|
|
void pushSymbol (symbolTableEntryType *symbol);
|
|
void popSymbol (symbolTableEntryType *symbol);
|
|
macroTableEntryType *createMacro (stringType *macroName);
|
|
genericTableEntryType *prehashedStringLookup (char *s, genericTableEntryType **table, int hashValue);
|
|
genericTableEntryType *hashStringLookup (char *s, genericTableEntryType **table);
|
|
genericTableEntryType *hashStringEnter (genericTableEntryType *entry, genericTableEntryType **table);
|
|
int hashString (char *s);
|
|
bool strcmplc (char *s1, char *s2);
|
|
bool strcmplct (char *s1, char *s2);
|
|
void purgeSymbol (symbolTableEntryType *symbol);
|
|
void reincarnateSymbol (symbolInContextType *context, symbolUsageKindType newUsage);
|
|
void pushBinding (symbolTableEntryType *symbol, valueType *newBinding, symbolUsageKindType newUsage);
|
|
void popBinding (symbolTableEntryType *symbol);
|
|
int bindMacroArguments (argumentDefinitionListType *argumentList, operandListType *parameterList, stringType *macroName);
|
|
int bindFunctionArguments (argumentDefinitionListType *argumentList, operandListType *parameterList, stringType *functionName);
|
|
void unbindArguments (argumentDefinitionListType *argumentList, int numberToUnbind);
|
|
void unbindLocalVariables (identifierListType *identifierList);
|
|
|
|
#endif
|