/* * externs.g: declare all functions exported from one file to others. */ extern /* system.d */ printString(*char string)void, printInt(int n)void, errorPosition(uint line, column)void, abort(*char message)void, memAlloc(ulong length)arbptr, memFree(arbptr p; ulong length)void, readSource(*char buffer; ulong length)uint, codeStartProc(*SymbolEntry_t se)void, codeReference(RelocCode_t rc; *SymbolEntry_t se; uint offset)void, codeEndProc(*SymbolEntry_t se; *byte codePtr; uint codeLength)void, /* lex.d */ errorHere(*char message)void, errorHereThree(*char m1, m2, m3)void, nextToken()void, getToken(**SymbolEntry_t pSymbol;**char pBuffer;*ulong pNumber)TokenKind_t, getSimpleToken()TokenKind_t, skipToken()void, lexInit()void, lexTerm()void, /* symbol.d */ symbolInit()void, symbolTerm()void, symbolPurge()void, enter(*char name; ulong length)*SymbolEntry_t, fixLocals(int extraOffset)void, /* decl.d */ declareVariables(SymbolKind_t kind)void, defineProc()void, /* statement.d */ parseAssignmentStatement(*SymbolEntry_t se)void, parseStatementList()ResultType_t, /* expression.d */ parseExpression()ResultType_t, /* parseUtil.d */ checkUndef(*SymbolEntry_t se)void, checkAssign(*SymbolEntry_t se)void, isStatement()bool, findStatement()void, findClose()void, /* codeGen.d */ setGlobalSize(int size)void, getGlobalSize()int, procStartParameters()void, procEndParameters()void, procEndLocals()void, allocateVariable(*SymbolEntry_t se)void, pushConstant(int n)void, pushVariable(*SymbolEntry_t se)void, popVariable(*SymbolEntry_t se)void, emitString(*char st; ulong length)void, callSpecial(RelocCode_t rc)void, pushParameter()void, callProc(*SymbolEntry_t se)void, procResult()void, unaryOp(TokenKind_t opToken)void, binaryOp(TokenKind_t opToken)void, compareValues(TokenKind_t opToken)void, getPos()uint, branchForward(bool isConditional)uint, patchBranch(uint offset)void, branchTo(uint offset)void, codeInit(*SymbolEntry_t se)void, codeTerm(*SymbolEntry_t se)void, /* runTime.d */ outputRunTime()void;