59 lines
1.3 KiB
C
59 lines
1.3 KiB
C
/*************/
|
|
/*GEMWIRE */
|
|
/* ERYTHRO*/
|
|
/*************/
|
|
|
|
#pragma once
|
|
|
|
#include <stdio.h>
|
|
#include <Defs.h>
|
|
#include <stdbool.h>
|
|
|
|
#ifndef extern_
|
|
#define extern_ extern
|
|
#endif
|
|
|
|
#define TEXTLEN 512
|
|
#define SYMBOLS 1024
|
|
|
|
extern_ struct SymbolTableEntry* Globals, * GlobalsEnd;
|
|
extern_ struct SymbolTableEntry* Locals, * LocalsEnd;
|
|
extern_ struct SymbolTableEntry* Params, * ParamsEnd;
|
|
extern_ struct SymbolTableEntry* Structs, * StructsEnd;
|
|
|
|
extern_ struct SymbolTableEntry* CompositeMembers, * CompositeMembersEnd;
|
|
extern_ struct SymbolTableEntry* EnumMembers, * EnumMembersEnd;
|
|
|
|
extern_ struct SymbolTableEntry* Unions, * UnionsEnd;
|
|
extern_ struct SymbolTableEntry* Enums, * EnumsEnd;
|
|
extern_ struct SymbolTableEntry* Types, * TypesEnd;
|
|
|
|
extern_ bool OptDumpTree;
|
|
extern_ bool OptKeepAssembly;
|
|
extern_ bool OptAssembleFiles;
|
|
extern_ bool OptLinkFiles;
|
|
extern_ bool OptVerboseOutput;
|
|
|
|
extern_ char* OutputFileName;
|
|
extern_ char* CurrentASMFile, * CurrentObjectFile;
|
|
|
|
extern_ int TypeSizes[5];
|
|
|
|
extern_ char* TokenNames[];
|
|
|
|
extern_ char* ScopeNames[];
|
|
|
|
extern_ int CurrentFunction;
|
|
extern_ struct SymbolTableEntry* FunctionEntry;
|
|
extern_ int Line;
|
|
extern_ int Overread;
|
|
|
|
extern_ FILE* SourceFile;
|
|
extern_ FILE* OutputFile;
|
|
|
|
extern_ struct Token CurrentToken;
|
|
extern_ char CurrentIdentifier[TEXTLEN + 1];
|
|
|
|
extern_ int CurrentGlobal;
|
|
extern_ int CurrentLocal;
|