2 //**************************************************************************
\r
6 //**************************************************************************
\r
11 // HEADER FILES ------------------------------------------------------------
\r
16 // MACROS ------------------------------------------------------------------
\r
18 #define MAX_ARRAY_DIMS 8
\r
20 // TYPES -------------------------------------------------------------------
\r
48 int dimensions[MAX_ARRAY_DIMS];
\r
72 pcd_t directCommand;
\r
77 boolean hasReturnValue;
\r
87 boolean hasReturnValue;
\r
93 typedef struct symbolNode_s
\r
95 struct symbolNode_s *left;
\r
96 struct symbolNode_s *right;
\r
106 symSpecial_t special;
\r
107 symConstant_t constant;
\r
108 symInternFunc_t internFunc;
\r
109 symScriptFunc_t scriptFunc;
\r
113 // PUBLIC FUNCTION PROTOTYPES ----------------------------------------------
\r
115 void SY_Init(void);
\r
116 symbolNode_t *SY_Find(char *name);
\r
117 symbolNode_t *SY_FindLocal(char *name);
\r
118 symbolNode_t *SY_FindGlobal(char *name);
\r
119 symbolNode_t *SY_InsertLocal(char *name, symbolType_t type);
\r
120 symbolNode_t *SY_InsertGlobal(char *name, symbolType_t type);
\r
121 symbolNode_t *SY_InsertGlobalUnique(char *name, symbolType_t type);
\r
122 void SY_FreeLocals(void);
\r
123 void SY_FreeGlobals(void);
\r
124 void SY_FreeConstants(int depth);
\r
125 void SY_ClearShared(void);
\r
127 // PUBLIC DATA DECLARATIONS ------------------------------------------------
\r