home *** CD-ROM | disk | FTP | other *** search
- #ifndef Protos_INTERFACE
- #define Protos_INTERFACE
-
- void SetSymFlags(SYMVia_t, unsigned short);
- unsigned short GetSymFlags(SYMVia_t);
- void UpdateOptionsMenu(void);
- void SaveOptsFile(void);
- int ReadOptsFile(void);
- pascal short SFHookF(int item, DialogPtr dPtr);
- pascal short SFHookG(int item, DialogPtr dPtr);
- pascal short SFHookH(int item, DialogPtr dPtr);
- pascal Boolean FoldersOnly(ParmBlkPtr p);
- InFileVia_t FileSelectorF(void);
- InFileVia_t FileSelectorG(void);
- InFileVia_t FileSelectorH(void);
- InFileVia_t FileSelector(OSType filetype);
- pascal short SFHookE(int item, DialogPtr theDialog);
- InFileVia_t FileSelectorE(void);
- int FileSelectorK(void);
- pascal short SFHookB(int item, DialogPtr theDialog);
- InFileVia_t FileSelectorB(OSType filetype);
- pascal short SFHookC(int item, DialogPtr theDialog);
- InFileVia_t FileSelectorC(OSType filetype);
- pascal short SFHookD(int item, DialogPtr theDialog);
- InFileVia_t FileSelectorD(OSType filetype);
- void UpdateFileMenu(void);
- void CheckFront(void);
- WindowPtr BuildWindow(int bindtofile, char *name);
- void DoFileMenu(int item);
- void DoOptionsMenu(int item);
- void DoCodeGenMenu(int item);
- void DoWarningsMenu(int item);
- void DoGeneralMenu(int item);
- void DoProjectMenu(int item);
- void WindowActivate(Boolean x);
- void DoAbout(void);
- void CloseIt(void);
- void SetUpWarningsMenu(void);
- void ApplicationInit(void);
- int GiveTime(void);
- int loword(long i);
- int hiword(long i);
- int lobyte(int i);
- int hibyte(int i);
- int reverse(int val);
- void emit(unsigned char bt);
- void eword(int wd);
- void elong(long wd);
- struct mne *mne_lookOP(Opcode_t OP);
- struct mne *mne_look(EString_t str);
- void PutEA(LocAMVia_t loc, struct ea * e);
- int eamatch(int gen, int spec);
- struct tmpl *tmpl_match(struct tmpl * p, int n, InstVia_t inst);
- void fsizchk(struct ea * e);
- int check(int konst, int type);
- int size76(void);
- int size109(void);
- int size109b(void);
- int adreg(struct ea * e);
- int modreg(struct ea * e);
- int genxreg(struct ea * e);
- void finish(struct ea * e);
- int fsize(void);
- void checkfclist(int r, struct ea * e);
- int getrlist(struct ea * e);
- int bitfld(struct ea * e, int r);
- void do_op(int opclass, int op, int op2);
- int pmmu_fc(struct ea * e);
- void process(InstVia_t inst);
- MPWDictListVia_t RawMPWDictList(void);
- MPWDictVia_t RawMPWDict(char *name);
- MPWListVia_t RawMPWList(void);
- MPWRecordVia_t RawMPWRecord(void);
- void KillMPWRecord(MPWRecordVia_t rec);
- void KillRecordsList(MPWListVia_t reclist);
- void KillMPWDict(MPWDictVia_t rec);
- void KillDictList(MPWDictListVia_t Dicts);
- MPWDictVia_t FindDict(char *name, MPWDictListVia_t Dicts);
- void DoWord(unsigned char *buf, long x);
- void DoLong(unsigned char *buf, long x);
- void AddMPWRec(MPWRecordVia_t rec, MPWListVia_t Records);
- void MPW_Comment(char *comment, MPWListVia_t Records);
- void MPW_Last(MPWListVia_t Records);
- void MPW_First(unsigned char FlagsByte, unsigned short Version, MPWListVia_t Records);
- void AddMPWDict(char *name, unsigned short ID, int isdefined, MPWDictListVia_t Dicts);
- void MPW_DoDictionary(unsigned char FlagsByte, char *name, int Defined, unsigned short ID, MPWListVia_t Records);
- void MPW_Dictionary(unsigned char FlagsByte, char *name, int Defined, MPWListVia_t Records);
- void MPW_Module(unsigned char FlagsByte, unsigned short ModID, unsigned short ModSize, MPWListVia_t Records);
- void MPW_Size(unsigned char FlagsByte, long sizevalue, MPWListVia_t Records);
- void MPW_Contents(unsigned char FlagsByte, EString_t Buffer, long BufferSize, MPWListVia_t Records);
- void MPW_Reference(unsigned char FlagsByte, unsigned short RefID, long offset, MPWListVia_t Records);
- unsigned short NameID(MPWDictListVia_t Dicts, char *name, unsigned char FlagsByte, int isdefined, MPWListVia_t Records);
- unsigned char GetModuleFlags(char *name);
- void WordAlignContents(void);
- void AddContentsByte(unsigned char bt);
- void AddContentsWord(unsigned short wd);
- void AddContentsLong(unsigned long wd);
- void FlushCode(MPWListVia_t Records);
- void FlushData(MPWListVia_t Records);
- void CodeModule(unsigned char FlagsByte, unsigned short ModID, unsigned short ModSize, MPWListVia_t Records);
- void DataModule(unsigned char FlagsByte, unsigned short ModID, unsigned short ModSize, MPWListVia_t Records);
- void AddtoContents(InstVia_t inst);
- void DumpCodeList(InstListVia_t Codes, MPWListVia_t Records);
- OSType MakeOSType(char *d);
- void GenerateOBJ(InstListVia_t Codes, char *fname, short volrefnum, long dirID);
- void Dump68_OtherFormat(AssemEAVia_t e, GenericFileVia_t thefile);
- void Dump68_Location(LocAMVia_t loc, GenericFileVia_t thefile);
- void Dump68_Size(enum Size68 SZ, GenericFileVia_t thefile);
- int Dump68_Instruction(InstVia_t inst, GenericFileVia_t thefile);
- void Dump68_List(InstListVia_t Codes, GenericFileVia_t thefile);
- void KillLocation(LocAMVia_t loc);
- void KillAllLocations(void);
- void KillCodesList(InstListVia_t Codes);
- EString_t MakeEString(char *s);
- void *Ealloc(unsigned long size);
- void Efree(MemReq_t mem);
- EString_t AllocString(EString_t tmpstring);
- void InitDefaultOpts(void);
- void InitOpts(void);
- void CheckOpts(void);
- InFileVia_t SetOpts(int argc, EString_t argv);
- GenericFileVia_t OpenGenericFile(char *name, short volrefnum, long dirID, char *mode, int iswind);
- int OpenInput(char *filename, int volrefnum, long dirID);
- int OpenError(char *filename, int volrefnum, long dirID);
- int OpenOutput(char *filename, int volrefnum, long dirID);
- void PushEnumTable(SymListVia_t syms);
- void PushSpaces(SymListVia_t syms, SymListVia_t tags, SymListVia_t labs);
- GenericFileVia_t RawGenericFile(void);
- void PutFileOnHold(FILE * f);
- void TakeFileOffHold(FILE * f);
- void CloseGenericFile(GenericFileVia_t f);
- long FillGFileBuffer(GenericFileVia_t thef);
- int GetCGenericFile(GenericFileVia_t f);
- void GenericGetLine(GenericFileVia_t thef, char *buf);
- GenericFileVia_t MakeErrFile(void);
- void EachFileInit(void);
- InFileVia_t Init(int argc, char ** argv);
- int RecSumString(SYMVia_t tmp);
- int SumStringLits(void);
- void FreeTree(ParseTreeVia_t root);
- void FreeSyms(SYMVia_t cur, int dodef);
- void FreeSymbolList(SymListVia_t table, int dodef);
- void FreePP(PPSYMVia_t cur);
- void FreePPSymbolList(PPSymListVia_t table);
- void FreeLab(LabSYMVia_t cur);
- void FreeLabSymbolList(LabSymListVia_t table);
- void RememberSwitch(LabSymListVia_t tab);
- void FreeSwitches(void);
- void FreeParamList(ParamRecVia_t head);
- void OneFileCleanUp(void);
- int UserFileError(int err);
- void CleanUp(void);
- void OneFileReport(void);
- void Report(void);
- int ReInit(char *filename, int volrefnum, long dirID);
- void GenerateOOPData(void);
- int CompileTo68k(char *filename, int volrefnum, long dirID);
- void PreprocOnly(char *name, short volrefnum, long dirID);
- void SingleFile(char *name, short volrefnum, long dirID);
- void MultiFile(InFileVia_t files);
- int main(int argc, char **argv);
- void EMake(char *filename, short volrefnum, long dirID, int buildall);
- LocAMVia_t RawLocation(void);
- int SameLocation(LocAMVia_t a, LocAMVia_t b);
- InstVia_t RawInstruction(void);
- InstListVia_t RawInstructionList(void);
- enum Size68 M68_TypeSize(TypeRecordVia_t TP);
- void GenLoadEA(LocAMVia_t loc, LocAMVia_t dst, InstListVia_t Codes);
- void GenPushEA(LocAMVia_t loc, InstListVia_t Codes);
- LocAMVia_t GenSANECall(unsigned short Cmd, LocAMVia_t src, LocAMVia_t dst, InstListVia_t Codes);
- void Genmoverange(int size, LocAMVia_t src, LocAMVia_t dst, InstListVia_t Codes);
- int is68881SZ(enum Size68 size);
- void Genmove(enum Size68 size, LocAMVia_t src, LocAMVia_t dst, InstListVia_t Codes);
- SpillSlotVia_t GetLocalSlot(TypeRecordVia_t TP);
- void AddInstruction(InstVia_t inst, InstListVia_t Codes);
- InstVia_t GenStartComment(InstListVia_t Codes);
- InstVia_t GenCRComment(InstListVia_t Codes);
- InstVia_t GenPlainTextComment(char *string, InstListVia_t Codes);
- InstVia_t GenTextComment(char *string, InstListVia_t Codes);
- InstVia_t GenPlainTreeComment(ParseTreeVia_t expr, InstListVia_t Codes);
- InstVia_t GenComment(ParseTreeVia_t expr, InstListVia_t Codes);
- InstVia_t InsertInstruction(Opcode_t OP, enum Size68 SZ, LocAMVia_t left, LocAMVia_t right, InstVia_t after);
- InstVia_t GenInst(Opcode_t OP, enum Size68 SZ, LocAMVia_t left, LocAMVia_t right, InstListVia_t Codes);
- void AddInstList(InstListVia_t list, InstListVia_t Codes);
- void GenPush(LocAMVia_t loc, InstListVia_t Codes);
- void GenCodeLabel(LabSYMVia_t labsym, InstListVia_t Codes);
- void GenDataLabel(LabSYMVia_t labsym, InstListVia_t Codes);
- void GenStringLabel(LabSYMVia_t labsym, InstListVia_t Codes);
- void GenLabel(LabSYMVia_t labsym, InstListVia_t Codes);
- void ShiftRight(LocAMVia_t loc, int shifts, InstListVia_t Codes);
- void ShiftLeft(LocAMVia_t loc, int shifts, InstListVia_t Codes);
- unsigned long MakeTheMask(int lo, int hi);
- unsigned long MakeMask(LocAMVia_t loc);
- void GenDeConflictize(LocAMVia_t * a, LocAMVia_t * b, InstListVia_t Codes);
- LocAMVia_t Slotify(LocAMVia_t loc, InstListVia_t Codes);
- int PushBackwards(ParseTreeVia_t arg, ParamRecVia_t Param, int *pcount, InstListVia_t Codes);
- int PushArguments(ParseTreeVia_t fcallnode, int ispascal, ParamRecVia_t Param, InstListVia_t Codes);
- void GenCompareBranch2(LocAMVia_t leftop, ParseTreeVia_t right, Opcode_t OP, LabSYMVia_t label, InstListVia_t Codes);
- void GenCompareBranch(ParseTreeVia_t left, ParseTreeVia_t right, Opcode_t OP, LabSYMVia_t label, InstListVia_t Codes);
- void GenCompareZero(ParseTreeVia_t expr, LabSYMVia_t label, InstListVia_t Codes);
- void GenCompareNonZero(ParseTreeVia_t expr, LabSYMVia_t label, InstListVia_t Codes);
- LocAMVia_t GenLibraryCall(LocAMVia_t leftop, LocAMVia_t rightop, LabSYMVia_t label, InstListVia_t Codes);
- LocAMVia_t GenMulUnsigned(Opcode_t OP, LocAMVia_t leftop, LocAMVia_t rightop, InstListVia_t Codes);
- LocAMVia_t GenMulSigned(Opcode_t OP, LocAMVia_t leftop, LocAMVia_t rightop, InstListVia_t Codes);
- int isDRegMode(LocAMVia_t loc);
- int isARegMode(LocAMVia_t loc);
- LocAMVia_t GenTypeChange(ParseTreeVia_t expr, InstListVia_t Codes);
- void GenGlobalRecurse(SYMVia_t cur, InstListVia_t Codes, int Flush);
- int GenGlobal(SymListVia_t table, InstListVia_t Codes, int Flush);
- LocAMVia_t BuildFRegLocation(int reg);
- LocAMVia_t BuildDRegLocation(int reg);
- LocAMVia_t BuildAbsolute(long constant);
- LocAMVia_t BuildImmediate(int constant, enum Size68 SZ);
- LocAMVia_t BuildLargeGlobal(LabSYMVia_t displ);
- LocAMVia_t BuildARegLabelDisplace(int reg, LabSYMVia_t displ);
- LocAMVia_t BuildARegDisplaceField(int reg, int displ, struct TwoShorts bits);
- LocAMVia_t BuildARegDisplace(int reg, int displ);
- LocAMVia_t BuildARegPreDec(int reg);
- LocAMVia_t BuildARegPostInc(int reg);
- LocAMVia_t BuildARegIndirect(int reg);
- LocAMVia_t BuildARegDirect(int reg);
- LabSYMVia_t AddLabel(char *name);
- LocAMVia_t BuildAutoLoc(int offset, int size);
- LabSYMVia_t MakeSysLabel(char *name);
- LabSYMVia_t MakeUserLabel(char *name);
- LocAMVia_t BuildPCLabelDisplace(LabSYMVia_t name);
- LocAMVia_t BuildImmedLabelLoc(LabSYMVia_t name);
- LocAMVia_t BuildLabelOffset(LabSYMVia_t name, long c);
- LocAMVia_t BuildLabelLoc(LabSYMVia_t name);
- LabSYMVia_t MakeFloatLitLabel(int num);
- LabSYMVia_t MakeLitLabel(int num);
- LabSYMVia_t MakeEccLabel(int num);
- void DumpCharK(char *lit, int len, GenericFileVia_t thefile);
- void DumpStringLit(char *lit, GenericFileVia_t thefile);
- void DumpType(TypeRecordVia_t rec, GenericFileVia_t thefile, int pass);
- int GenC_Tree(ParseTreeVia_t root, GenericFileVia_t thefile);
- void GenTrapWords(ParseTreeVia_t init, InstListVia_t Codes);
- LocAMVia_t ParamLoc(int x);
- LocAMVia_t GenFunctionCall(ParseTreeVia_t expr, InstListVia_t Codes);
- LocAMVia_t GenLogicalOr(ParseTreeVia_t left, ParseTreeVia_t right, InstListVia_t Codes);
- LocAMVia_t GenLogicalAnd(ParseTreeVia_t left, ParseTreeVia_t right, InstListVia_t Codes);
- LocAMVia_t GenTernary(ParseTreeVia_t cond, ParseTreeVia_t trueval, ParseTreeVia_t falseval, InstListVia_t Codes);
- LocAMVia_t GenLogicalNegate(ParseTreeVia_t expr, InstListVia_t Codes);
- LocAMVia_t GenRelational(Opcode_t OP, ParseTreeVia_t left, ParseTreeVia_t right, InstListVia_t Codes);
- LocAMVia_t GenbitTwoOp(Opcode_t OP, ParseTreeVia_t left, ParseTreeVia_t right, InstListVia_t Codes);
- LocAMVia_t GenTwoOp(Opcode_t OP, ParseTreeVia_t left, ParseTreeVia_t right, InstListVia_t Codes);
- LocAMVia_t GenModulo(ParseTreeVia_t left, ParseTreeVia_t right, InstListVia_t Codes);
- LocAMVia_t GenMulDiv(Opcode_t OP, ParseTreeVia_t left, ParseTreeVia_t right, InstListVia_t Codes);
- LocAMVia_t GenSubscript(ParseTreeVia_t expr, InstListVia_t Codes);
- LocAMVia_t GenIndirectMember(ParseTreeVia_t expr, InstListVia_t Codes);
- LocAMVia_t GenMember(ParseTreeVia_t expr, InstListVia_t Codes);
- LocAMVia_t GenAddrOf(ParseTreeVia_t expr, InstListVia_t Codes);
- LocAMVia_t GenDeref(ParseTreeVia_t expr, InstListVia_t Codes);
- LocAMVia_t GenBitNegate(ParseTreeVia_t expr, InstListVia_t Codes);
- LocAMVia_t GenNegate(ParseTreeVia_t expr, InstListVia_t Codes);
- LocAMVia_t GenIdentifier(ParseTreeVia_t expr, InstListVia_t Codes);
- LocAMVia_t GenStringLit(ParseTreeVia_t expr, InstListVia_t Codes);
- void GenSwitchDefault(ParseTreeVia_t stmt, InstListVia_t Codes);
- void GenSwitchCase(ParseTreeVia_t stmt, InstListVia_t Codes);
- LocAMVia_t GenExpression(ParseTreeVia_t expr, InstListVia_t Codes);
- void GenInitGlobal(SYMVia_t symbol, InstListVia_t Codes);
- void GenPLit(char *bytes, InstListVia_t Codes);
- void GenLit(char *bytes, InstListVia_t Codes);
- void GenOneSeg(LabSYMVia_t cursym, InstListVia_t Codes);
- void GenOneLit(SYMVia_t cursym, InstListVia_t Codes);
- void GenSegsRecurse(SYMVia_t cursym, InstListVia_t Codes);
- void GenLitsRecurse(SYMVia_t cursym, InstListVia_t Codes);
- void GenSegments(InstListVia_t Codes);
- void GenStringLits(InstListVia_t Codes);
- void GenFloatLit(char *bytes, InstListVia_t Codes);
- void AddStatic(SYMVia_t symbol);
- int GenStaticRecurse(SYMVia_t cur, InstListVia_t Codes);
- void GenStatics(InstListVia_t Codes);
- void GenFloatLits(InstListVia_t Codes);
- int AllocateParameters(SymListVia_t table, int argoff);
- void Free2Locals(SymListVia_t list, InstListVia_t Codes);
- void Allocate2Locals(SymListVia_t table, InstListVia_t Codes);
- void GenSymbol(SYMVia_t thesymbol, InstListVia_t Codes);
- LocAMVia_t GenAssign(ParseTreeVia_t left, ParseTreeVia_t right, InstListVia_t Codes);
- void SetupLibLabels(void);
- LocAMVia_t GenModAssign(ParseTreeVia_t left, ParseTreeVia_t right, InstListVia_t Codes);
- LocAMVia_t GenMulDivAssign(Opcode_t OP, ParseTreeVia_t left, ParseTreeVia_t right, InstListVia_t Codes);
- LocAMVia_t GenOPAssignDREG(Opcode_t OP, ParseTreeVia_t left, ParseTreeVia_t right, InstListVia_t Codes);
- LocAMVia_t GenOPAssign(Opcode_t OP, ParseTreeVia_t left, ParseTreeVia_t right, InstListVia_t Codes);
- LocAMVia_t GenPreInc(ParseTreeVia_t expr, InstListVia_t Codes);
- LocAMVia_t GenPreDec(ParseTreeVia_t expr, InstListVia_t Codes);
- LocAMVia_t GenPostInc(ParseTreeVia_t expr, InstListVia_t Codes);
- LocAMVia_t GenPostDec(ParseTreeVia_t expr, InstListVia_t Codes);
- void GenCompound(ParseTreeVia_t stmt, InstListVia_t Codes);
- void GenReturn(ParseTreeVia_t val, InstListVia_t Codes);
- void GenIfThenElse(ParseTreeVia_t expr, ParseTreeVia_t thenstmt, ParseTreeVia_t elsestmt, InstListVia_t Codes);
- void GenDoWhile(ParseTreeVia_t stmt, ParseTreeVia_t expr, InstListVia_t Codes);
- void Genforstmt(ParseTreeVia_t first, ParseTreeVia_t cond, ParseTreeVia_t each, ParseTreeVia_t stmt, InstListVia_t Codes);
- void GenWhile(ParseTreeVia_t expr, ParseTreeVia_t stmt, InstListVia_t Codes);
- void GenLabelledStmt(ParseTreeVia_t expr, InstListVia_t Codes);
- void GenGotoStmt(ParseTreeVia_t stmt, InstListVia_t Codes);
- void GenSWITCH(ParseTreeVia_t expr, ParseTreeVia_t stmt, InstListVia_t Codes);
- int parse_line(void);
- enum Size68 MakeEccSize(int s);
- LocAMVia_t MakeEccLoc(struct ea * e);
- int process_inlineasm(InstListVia_t Codes);
- int eval(int *result);
- int get_term(int *result);
- struct mne *mne_lookinline(char *str);
- struct tmpl *tmpl_matchinline(struct tmpl * p, int n);
- int eamatchinline(int gen, int spec);
- int scanea(struct ea * e);
- int do_multi(void);
- int optsize(int v);
- int optscale(void);
- int do_indexed(struct ea * e);
- int do_xn(struct ea * e);
- int checkpair(struct ea * e);
- int checklist(struct ea * e);
- int regbit(int type, int reg);
- int toughy(struct ea * e);
- int delim(int c);
- char *skip_white(char *ptr);
- int any(int c, char *str);
- char mapdn(int c);
- int head(char *str1, char *str2);
- int alpha(int c);
- int alphan(int c);
- char *next_str(void);
- SYMVia_t NextSym(SymListVia_t tbl, SYMVia_t cur);
- SYMVia_t LastSym(SymListVia_t tbl);
- void ImageStruct(SymListVia_t tbl, SYMVia_t member, ParseTreeVia_t init, InstListVia_t Codes);
- void ImageArray(TypeRecordVia_t typerec, ParseTreeVia_t init, InstListVia_t Codes);
- LocAMVia_t BuildFoldK(FoldValue_t val);
- int ImageInit(TypeRecordVia_t typerec, ParseTreeVia_t init, InstListVia_t Codes);
- PPSYMVia_t isDefined(char *name);
- PPSYMVia_t AddDefine(char *name, EString_t value);
- PPSYMVia_t AddMacroFunc(char *name, int NumArgs, EString_t value, SymListVia_t ParmNames);
- PPSYMVia_t UnDefine(char *name);
- void SetPPStatus(int stat);
- void GetPPStatus(void);
- int hexvalue(char c);
- int ishexdigit(char c);
- int isoctaldigit(char c);
- SYMVia_t isTypedefName(char *name);
- int isFirstIDChar(char c);
- int isAnyIDChar(char c);
- int isKeyword(char *toke);
- void ResetSRC(void);
- void PopSRC(void);
- void PushSRC(void);
- void PutBackChar(char c);
- unsigned char RawCharacter(void);
- unsigned char PreProcCharacter(void);
- unsigned char TokenCharacter(void);
- unsigned char NonSpaceCharacter(void);
- short ParamVal(char *PStr);
- void StoreTillEOL(EString_t buf);
- void SkipTillEOL(void);
- char GetCharacter(void);
- void LexerGetLine(char *buf);
- char EscapeConvert(char c);
- double Eintpower(int mant, int expon);
- int KWHash(char *name);
- void AddKW(char *name, Codigo_t val);
- void BuildKWHash(void);
- Codigo_t GetaToken(void);
- Codigo_t GetToken(void);
- int NextIs(Codigo_t val);
- long FetchToken(void);
- void PutBackToken(char *name, Codigo_t tokval);
- void UnFetchToken(void);
- int LoadLinker(void);
- void LinkerError(char *errstr);
- void LinkerErrorSYM(char *errstr, char *name);
- void ZeroBytes(char P__H * buf, long bufsize);
- LinkerFileVia_t ReadObjectFile(char *fname, short volrefnum, long dirID);
- ModuleVia_t FindModuleID(unsigned short ID, LinkerFileVia_t file);
- DictionaryVia_t FindStrName(char *name, LinkerFileVia_t file);
- ModuleVia_t FindNameAll(char *name, LinkerFileVia_t file);
- DictionaryVia_t FindIDName(unsigned short ID, LinkerFileVia_t file);
- ModuleVia_t FindModuleExternal(unsigned short ID, LinkerFileVia_t localfile, DictionaryVia_t * dict, LinkerFileVia_t * foundfile, LinkerFileVia_t allfiles);
- int ResolveAllReferences(LinkerFileVia_t files);
- SegmentVia_t FindSegmentID(unsigned short ID);
- SegmentVia_t FindSegmentName(char *name);
- SegmentVia_t AddSegment(char *name, LinkerFileVia_t file);
- void AddToDATA(ModuleVia_t themod);
- char *AddImage(ModulePackageVia_t modp, char *buf);
- char *AddDataImage(ModulePackageVia_t modp, char *buf);
- Block_t ImageDATA(void);
- void SetFirstJT(SegmentVia_t seg);
- Block_t ImageCODE(SegmentVia_t seg);
- SegmentVia_t GetSeg(int SegID, LinkerFileVia_t file);
- void AddToSegment(unsigned short SegID, ModuleVia_t themod, LinkerFileVia_t file);
- void AssignModules(ModuleVia_t curmod, LinkerFileVia_t curfile);
- void AssignA5Offsets(SegmentVia_t curseg);
- void AssignMPWOffsets(LinkerFileVia_t files);
- Block_t ConcatImage(Block_t a, Block_t b, LinkerFileVia_t files);
- Block_t ImageJT(void);
- void AdjustOneRef(ModuleVia_t curmod);
- void AdjustAllReferences(LinkerFileVia_t files);
- int FlushLink(char *name, short volrefnum, long dirID, LinkerFileVia_t files);
- void KillRefs(ReferenceVia_t head);
- void KillModules(ModuleVia_t head);
- void KillDicts(DictionaryVia_t head);
- void KillModPacks(ModulePackageVia_t head);
- void KillImage(Block_t im);
- void KillSegments(SegmentVia_t head);
- void KillLinkFiles(LinkerFileVia_t head);
- void ELink(InFileVia_t flist, char *dest, short volrefnum, long dirID);
- ParseTreeVia_t BuildConstantNode(FoldValue_t * val);
- void ConstExprValue(ParseTreeVia_t root, FoldValue_t * resp);
- ParseTreeVia_t Constify(ParseTreeVia_t tree);
- int isRegDirect(LocAMVia_t loc);
- InstVia_t DeleteInst(InstVia_t inst);
- int isLABEL(InstVia_t a);
- int isBRANCH(InstVia_t a);
- int EquivAddress(InstVia_t a, InstVia_t b);
- void Optimize68(InstListVia_t Codes);
- FloatLitVia_t RawFloatLit(void);
- FloatLitVia_t AddFloatLit(long double x);
- void KillFloatList(FloatLitVia_t head);
- int GetIntValue(ParseTreeVia_t root);
- int GetIDENTIFIER(void);
- int CountArgs(ParseTreeVia_t list);
- void ProtoTypeCheck(SymListVia_t prot, ParseTreeVia_t * carg, int isellipsis);
- SYMVia_t FindMessage(char *name);
- int GetMessageKey(void);
- ParseTreeVia_t Do_postfix_expr(void);
- ParseTreeVia_t Do_argument_expr_list(void);
- ParseTreeVia_t Do_unary_expr(void);
- Codigo_t Do_unary_operator(void);
- ParamRecVia_t FindParam(char *name);
- void FreeSymImage(SymImageVia_t head);
- int Do_declaration(SymListVia_t table);
- TypeRecordVia_t Do_declaration_specifiers(int , enum StorageClassCode * , int *);
- SymImageVia_t Do_init_declarator_list(SymListVia_t table, TypeRecordVia_t typerec, enum StorageClassCode stor_class);
- SYMVia_t Do_init_declarator(SymListVia_t table, TypeRecordVia_t typerec, enum StorageClassCode stor_class);
- TypeRecordVia_t Do_struct_or_union_specifier(Codigo_t keyword_code);
- int Do_struct_declaration_list(SymListVia_t table);
- int Do_struct_declaration(SymListVia_t table);
- int Do_struct_declarator_list(SymListVia_t table, TypeRecordVia_t typerec);
- int Do_struct_declarator(SymListVia_t table, TypeRecordVia_t typerec);
- TypeRecordVia_t Do_enum_specifier(void);
- int Do_enumerator_list(void);
- int Do_enumerator(void);
- SYMVia_t Do_declarator(SymListVia_t table, TypeRecordVia_t typerec, TypeRecordVia_t * newtype);
- void RecurseSetSize(TypeRecordVia_t TP);
- void SetArraySizes(TypeRecordVia_t TP);
- SYMVia_t Do_direct_declarator(SymListVia_t table, TypeRecordVia_t typerec);
- TypeRecordVia_t Do_pointer(TypeRecordVia_t base);
- int Do_parameter_identifier_list(SymListVia_t table);
- int Do_identifier_list(SymListVia_t table);
- int Do_parameter_type_list(SymListVia_t table);
- int Do_parameter_list(SymListVia_t table);
- int Do_parameter_declaration(SymListVia_t table);
- TypeRecordVia_t Do_type_name(void);
- TypeRecordVia_t Do_abstract_declarator(TypeRecordVia_t typerec);
- TypeRecordVia_t Do_direct_abstract_declarator(TypeRecordVia_t typerec);
- ParseTreeVia_t Do_initializer(void);
- ParseTreeVia_t Do_initializer_list(void);
- int Do_declaration_list(SymListVia_t table);
- SYMVia_t FindClass(char *name);
- void ParseMethodDecl(char *methodname, TypeRecordVia_t functype);
- SymImageVia_t Do_external_declaration(short);
- void PushBlock(ScopesVia_t block);
- void PopBlock(void);
- ParseTreeVia_t RawTreeNode(char *id);
- ParseTreeVia_t BuildTreeNode(enum ParseTreeFormat kind, ParseTreeVia_t a, ParseTreeVia_t b, ParseTreeVia_t c);
- ParseTreeVia_t BuildIDTreeNode(enum ParseTreeFormat kind, ParseTreeVia_t a, ParseTreeVia_t b, ParseTreeVia_t c, char *id);
- ParseTreeVia_t Do_cast_expr(void);
- ParseTreeVia_t Do_multiplicative_expr(void);
- ParseTreeVia_t Do_additive_expr(void);
- ParseTreeVia_t Do_shift_expr(void);
- ParseTreeVia_t Do_relational_expr(void);
- ParseTreeVia_t Do_equality_expr(void);
- ParseTreeVia_t Do_and_expr(void);
- ParseTreeVia_t Do_exclusive_or_expr(void);
- ParseTreeVia_t Do_inclusive_or_expr(void);
- ParseTreeVia_t Do_logical_and_expr(void);
- ParseTreeVia_t Do_logical_or_expr(void);
- ParseTreeVia_t Do_conditional_expr(void);
- ParseTreeVia_t Do_assignment_expr(void);
- Codigo_t Do_assignment_operator(void);
- ParseTreeVia_t Do_expr(void);
- ParseTreeVia_t Do_constant_expr(void);
- LocAMVia_t Do_asm_operand(void);
- ParseTreeVia_t Do_assembler_statement(void);
- ParseTreeVia_t Do_statement(void);
- ParseTreeVia_t Do_labeled_statement(void);
- void RecurseChk(SYMVia_t cur);
- void CheckUsages(SymListVia_t table);
- ParseTreeVia_t Do_compound_statement(SYMVia_t functop);
- int isJumpStmt(ParseTreeVia_t tree);
- int isLabeledStmt(ParseTreeVia_t tree);
- ParseTreeVia_t Do_statement_list(void);
- ParseTreeVia_t Do_expression_statement(void);
- ParseTreeVia_t Do_selection_statement(void);
- ParseTreeVia_t Do_iteration_statement(void);
- ParseTreeVia_t Do_jump_statement(void);
- ParseTreeVia_t Do_method_body(SYMVia_t funcname);
- ParseTreeVia_t Do_function_body(SYMVia_t funcname);
- int Do_translation_unit(void);
- void PtrGenerate(ParseTreeVia_t * tree);
- void FuncPtrGenerate(ParseTreeVia_t * tree);
- ParseTreeVia_t TypeConvert(ParseTreeVia_t expr, TypeRecordVia_t newtype);
- void StandardIntPromote(ParseTreeVia_t * a);
- void StandardFloatPromote(ParseTreeVia_t * a);
- TypeRecordVia_t Coerce(ParseTreeVia_t * a, ParseTreeVia_t * b, int mixpointers);
- void RelateCoerce(ParseTreeVia_t * a, ParseTreeVia_t * b);
- TypeRecordVia_t AssignCoerce(ParseTreeVia_t * a, ParseTreeVia_t * b);
- void ReturnCoerce(TypeRecordVia_t param, ParseTreeVia_t * expr);
- void CallCoerce(TypeRecordVia_t param, ParseTreeVia_t * expr);
- SpillSlotVia_t RawSpillSlot(void);
- void FreePerms(void);
- void FreeAllRegs(void);
- SpillSlotVia_t GetSpillSlot(int size);
- void KillSpillList(void);
- SpillSlotVia_t SpillTemp(LocAMVia_t pushee, InstListVia_t Codes);
- void UnSpillTemp(LocAMVia_t freed, InstListVia_t Codes);
- int isPermReg(LocAMVia_t loc);
- int isTempReg(LocAMVia_t loc);
- void FreePerm(LocAMVia_t loc);
- void FreeTemp(LocAMVia_t loc);
- void FreeIt(LocAMVia_t loc);
- LocAMVia_t ValidateReg(LocAMVia_t loc, InstListVia_t Codes);
- int AvailFloatReg(void);
- int AvailAddrPerm(void);
- void PopPerms(InstListVia_t Codes);
- void PushPerms(void);
- int AvailFloatPerm(void);
- int AvailDataPerm(void);
- int AvailDataReg(void);
- int AvailAddrReg(void);
- LocAMVia_t TempAddrReg(InstListVia_t Codes);
- LocAMVia_t TempFloatReg(InstListVia_t Codes);
- LocAMVia_t PermAddrReg(void);
- LocAMVia_t PermFloatReg(void);
- LocAMVia_t PermDataReg(void);
- LocAMVia_t TempDataReg(InstListVia_t Codes);
- LocAMVia_t DictateTempFloat(LocAMVia_t operand, InstListVia_t Codes);
- LocAMVia_t DictateAnyFReg(LocAMVia_t operand, InstListVia_t Codes);
- LocAMVia_t DictateAnyDReg(LocAMVia_t operand, InstListVia_t Codes);
- LocAMVia_t DictateAnyAReg(LocAMVia_t operand, InstListVia_t Codes);
- LocAMVia_t DictateTempAReg(LocAMVia_t operand, InstListVia_t Codes);
- LocAMVia_t DictateTempDReg(LocAMVia_t operand, InstListVia_t Codes);
- void SaveDataRegisters(InstListVia_t Codes);
- void SaveTheRegisters(InstListVia_t Codes);
- SYMVia_t LookUpTag(char *ident);
- SymListVia_t CurrentSymbols(void);
- SymListVia_t CurrentTags(void);
- SymListVia_t CurrentLabels(void);
- SymListVia_t CurrentEnums(void);
- SYMVia_t LookUpSymbol(char *ident);
- SYMVia_t RawSymbol(char *name);
- PPSYMVia_t RawPPSymbol(char *name);
- LabSYMVia_t RawLabSymbol(char *name);
- SymListVia_t RawTable(int);
- PPSymListVia_t RawPPTable(void);
- LabSymListVia_t RawLabTable(void);
- unsigned long TableHash(char *name);
- unsigned long TableHash(char *name);
- SymImageVia_t ListAdd(SymImageVia_t table, SYMVia_t symbol);
- void DumpTable(SYMVia_t root);
- SYMVia_t TableAdd(SymListVia_t table, char *name);
- PPSYMVia_t PPTableAdd(PPSymListVia_t table, char *name);
- LabSYMVia_t LabTableAdd(LabSymListVia_t table, char *name);
- SYMVia_t TableTailAdd(SymListVia_t table, char *name);
- LabSYMVia_t LabTableTailAdd(LabSymListVia_t table, char *name);
- int TableSearchNum(SymListVia_t table, char *name);
- int PPTableSearchNum(PPSymListVia_t table, char *name);
- void LabTableIndexSearch(LabSYMVia_t root, int ndx, LabSYMVia_t * out);
- void TableIndexSearch(SYMVia_t root, int ndx, SYMVia_t * out);
- SYMVia_t TableGetNum(SymListVia_t table, int num);
- LabSYMVia_t LabTableGetNum(LabSymListVia_t table, int num);
- struct uniqstring P__H *UniqSearch(char *name);
- void KillHalUniqs(struct uniqstring P__H * head);
- void UniqAdd(char *name);
- SYMVia_t TableSearch(SymListVia_t table, char *name);
- SYMVia_t TableRemove(SymListVia_t table, char *name);
- PPSYMVia_t PPTableSearch(PPSymListVia_t table, char *name);
- LabSYMVia_t LabTableSearch(LabSymListVia_t table, char *name);
- PPSYMVia_t PPTableRemove(PPSymListVia_t table, PPSYMVia_t name);
- SymListVia_t CopySymTable(SymListVia_t table);
- int MaxSearch(SYMVia_t root, int num);
- int MaxSizes(SymListVia_t table);
- SYMVia_t FirstSym(SymListVia_t tbl);
- int SameTable(SymListVia_t a, SymListVia_t b);
- void PrintWarningText(enum Ecc_Warnings whichone);
- OSErr
- FindOMFFile(char *name, short volrefnum, long dirID, FSSpec * f);
- OSErr
- FindCFile(char *name, short volrefnum, long dirID, FSSpec * f);
- short InitOMF(InstListVia_t Codes, char *fname, short volrefnum, long dirID);
-
- void
- FlushOMF(short filenum);
-
- void
- FinishOMF(short filenum);
- void InitLocAM(void);
-
- #endif
-