#ifndef SYMBOLTABLE_H
#define SYMBOLTABLE_H
#include <stdio.h>
#define NUM_SYMBOLS 1000
#define IMM_LENGTH 17
struct _DataSymbol {
char key[100];
char* binary;
int address;
char* type;
};
typedef struct _DataSymbol DataSymbol;
extern DataSymbol dataSymbols[NUM_SYMBOLS];
struct _TextSymbol {
char* key;
int instructionNum;
int address;
};
typedef struct _TextSymbol TextSymbol;
extern TextSymbol textSymbols[NUM_SYMBOLS];
/** Writes the symbol table out o the given file
*
* Pre: outF is a valid output file
*
*/
void makeTable(FILE* outF);
void cleanTable();
char* decToBinary(char* dec);
char* decToBinary26(char* dec);
#endif