2 // RMAC - Reboot's Macro Assembler for the Atari Jaguar Console System
3 // SYMBOL.H - Symbol Handling
4 // Copyright (C) 199x Landon Dyer, 2011 Reboot and Friends
5 // RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986
6 // Source Utilised with the Kind Permission of Landon Dyer
17 struct LineList * next;
22 #define SYM struct _sym
25 SYM * snext; // * -> Next symbol on hash-chain
26 SYM * sorder; // * -> Next sym in order of reference
27 SYM * sdecl; // * -> Next sym in order of declaration
28 uint8_t stype; // Symbol type
29 uint16_t sattr; // Attribute bits
30 uint32_t sattre; // Extended attribute bits
31 uint16_t senv; // Enviroment number
32 uint32_t svalue; // Symbol value
33 char * sname; // * -> Symbol's print-name
34 struct LineList * lineList; // * -> Macro's linked list of lines
35 struct LineList * last; // * -> end of macro linked list
36 uint32_t uid; // Symbol's unique ID
39 // Globals, externals etc
44 SYM * lookup(char *, int, int);
45 void InitSymbolTable(void);
46 SYM * NewSymbol(char *, int, int);
50 int sy_assign(char *, char *(*)());
51 char * GetSymbolNameByUID(uint32_t);
53 #endif // __SYMBOL_H__