#define SF_DBGINFOVAL (SF_DEFINED)
/* Structure of a symbol table entry */
-struct SymEntry_ {
+struct SymEntry {
SymEntry* Left; /* Lexically smaller entry */
- SymEntry* Right; /* Lexically larger entry */
- SymEntry* List; /* List of all entries */
+ SymEntry* Right; /* Lexically larger entry */
+ SymEntry* List; /* List of all entries */
SymEntry* Locals; /* Root of subtree for local symbols */
- struct SymTable_* SymTab; /* Table this symbol is in, 0 for locals */
+ struct SymTable* SymTab; /* Table this symbol is in, 0 for locals */
FilePos Pos; /* File position for this symbol */
unsigned Flags; /* Symbol flags */
unsigned Index; /* Index of import/export entries */
union {
- struct ExprNode_* Expr; /* Expression if CONST not set */
+ struct ExprNode* Expr; /* Expression if CONST not set */
long Val; /* Value (if CONST set) */
- SymEntry* Sym; /* Symbol (if trampoline entry) */
+ SymEntry* Sym; /* Symbol (if trampoline entry) */
} V;
- unsigned char InitVal; /* Initializer value */
+ unsigned char InitVal; /* Initializer value */
char Name [1]; /* Dynamic allocation */
};
/* Definitions for the hash table */
#define MAIN_HASHTAB_SIZE 213
#define SUB_HASHTAB_SIZE 53
-typedef struct SymTable_ SymTable;
-struct SymTable_ {
- unsigned TableSlots; /* Number of hash table slots */
- unsigned TableEntries; /* Number of entries in the table */
+typedef struct SymTable SymTable;
+struct SymTable {
+ unsigned TableSlots; /* Number of hash table slots */
+ unsigned TableEntries; /* Number of entries in the table */
SymTable* BackLink; /* Link to enclosing scope if any */
- SymEntry* Table [1]; /* Dynamic allocation */
+ SymEntry* Table [1]; /* Dynamic allocation */
};
static int IsLocal (const char* Name)
/* Return true if Name is the name of a local symbol */
-{
+{
return (*Name == LocalStart);
}
#define EXPR_FORCEWORD (EXPR_UNARYNODE | 0x05)
#define EXPR_FORCEFAR (EXPR_UNARYNODE | 0x06)
-#define EXPR_BYTE0 (EXPR_UNARYNODE | 0x08)
+#define EXPR_BYTE0 (EXPR_UNARYNODE | 0x08)
#define EXPR_BYTE1 (EXPR_UNARYNODE | 0x09)
#define EXPR_BYTE2 (EXPR_UNARYNODE | 0x0A)
#define EXPR_BYTE3 (EXPR_UNARYNODE | 0x0B)
/* The expression node itself */
-typedef struct ExprNode_ ExprNode;
-struct ExprNode_ {
+typedef struct ExprNode ExprNode;
+struct ExprNode {
unsigned char Op; /* Operand/Type */
- ExprNode* Left; /* Left leaf */
- ExprNode* Right; /* Right leaf */
- struct ObjData_* Obj; /* Object file reference (linker) */
+ ExprNode* Left; /* Left leaf */
+ ExprNode* Right; /* Right leaf */
+ struct ObjData* Obj; /* Object file reference (linker) */
union {
long Val; /* If this is a value */
- struct SymEntry_* Sym; /* If this is a symbol */
- unsigned SegNum; /* If this is a segment */
+ struct SymEntry* Sym; /* If this is a symbol */
+ unsigned SegNum; /* If this is a segment */
unsigned ImpNum; /* If this is an import */
- struct Memory_* MemArea; /* If this is a memory area */
+ struct Memory* MemArea; /* If this is a memory area */
} V;
};