RENAME-MAP.md 12 KB

Rename map (old -> new)

Mechanical, semantics-preserving. Qualified cross-module uses renamed too (e.g. SCANNER.proc15 -> SCANNER.NewNode). paramN/localN in .MOD bodies kept as-is for now.

COMPILER

  • PROC1 -> InitCompiler
  • PROC3 -> InsertIdent
  • PROC4 -> DeclConst
  • PROC5 -> DeclStdProc
  • PROC6 -> DeclProc
  • PROC7 -> DeclFunc
  • PROC8 -> NewTypeDesc
  • PROC9 -> DeclType
  • PROC10 -> InitOperatorTable
  • PROC11 -> AddOperator
  • PROC12 -> InitCharClasses
  • PROC13 -> InitKeywordTable
  • PROC14 -> DeclarePredefinedTypes
  • PROC15 -> MakeParamList
  • PROC16 -> DeclareStandardNames
  • PROC17 -> DeclareSystemModule
  • PROC18 -> DeclareStorageModule
  • GETINP -> OpenSourceAndOutput
  • global2 -> rangeCheckEnabled
  • global3 -> scopeSpare3
  • global4 -> stdScopeAnchor
  • global5 -> keywordTable
  • global12 -> charArrayDesc
  • global17 -> addressAlias
  • global20 -> systemModule
  • global21 -> storageModule
  • global22 -> allocateSignature
  • global23 -> systemScopeDesc
  • global24 -> storageScopeDesc
  • global25 -> nativeCodeRequested
  • global26 -> compilationActive
  • global27 -> reserved27
  • global28 -> reserved28
  • global29 -> reserved29
  • global30 -> reserved30
  • global31 -> curScopeHead
  • global32 -> savedScopeHead
  • global33 -> baseScopeHead
  • global34 -> bitsetRangeDesc
  • global35 -> lastParamList
  • proc1..28 (DEF only) -> overlayProc01..28 (link-stub imports, not Compiler-owned)

SCANNER

  • proc1 -> GetSym
  • proc2 -> NextChar
  • proc3 -> PushWithScope
  • proc4 -> AcceptSymbol
  • proc5 -> GetStackMark
  • proc6 -> CheckStackMark
  • proc8 -> ExpectSymbol
  • proc9 -> TestSymbolInSet
  • proc10 -> TestSymbolRange40
  • proc11 -> TestSymbolRange13
  • proc12 -> NeedIdentifier
  • proc13 -> ExpectIdentKind
  • proc14 -> NewSizedNode
  • proc15 -> NewNode
  • proc16 -> CopyStringToHeap
  • proc17 -> OpenScope
  • proc18 -> MakeIdentifierNode
  • proc19 -> DeclareIdentifier
  • proc20 -> InsertSymbol
  • proc21 -> ExpectStringLiteral
  • proc25 -> ChangeFileExtension
  • proc26 -> ScannerError
  • proc27 -> EnterModuleSymbol
  • proc28 -> InitScanner
  • proc29 -> OpenSourceFile
  • proc32 -> WriteListingPrefix
  • proc33 -> EchoSourceChar
  • proc34 -> RefillBuffer
  • proc37 -> AccumulateDigit
  • proc38 -> SkipComment
  • Number -> ParseNumber
  • Ten -> Power10
  • scanNextToken -> ScanNextToken
  • global2 -> scanOptions
  • global3 -> curChar
  • global4 -> codeFile
  • global5 -> curSymbol
  • global6 -> isLiteral
  • global7 -> cardValue
  • global8 -> curNode
  • global9 -> identKind
  • global10 -> followSet
  • global11 -> tokenBuffer
  • global12 -> literalType
  • global13 -> scopeCursor
  • global14 -> realValue
  • global16 -> sourceFile
  • global17 -> longrealValue
  • global21 -> codeBuffer
  • global22 -> codeSize
  • global23 -> listingEnabled
  • global24 -> charClassTable
  • global25 -> tokenPos
  • global26 -> tokenColumn
  • procPtr27 -> keywordHashFunc
  • global29 -> withScopeSave
  • global30 -> tokenLength

ERRORS

  • proc1 -> ReportError
  • proc2 -> ReportErrorWithText
  • proc3 -> AskContinue
  • proc4 -> WriteString
  • proc5 -> FindFileOnDrives
  • proc6 -> WriteKindName
  • proc7 -> WriteFoundToken
  • proc8 -> ShowErrorPosition
  • proc9 -> AskEditOrQuit
  • proc10 -> PrintOverlayMessage
  • proc11 -> RollbackToMark
  • proc12 -> FatalError
  • proc13 -> ReportAssignMismatch
  • proc14 -> ReportTypeMismatch
  • proc15 -> ReportIncompatibleTypes
  • proc16 -> ReportExpectedSet
  • proc19 -> TruncateScopeStack
  • proc24 -> NextSetBit
  • proc25 -> DerefAliasType
  • proc26 -> WriteSlashField
  • proc27 -> WriteTypeName
  • proc28 -> WriteTypeOfSymbol
  • proc29 -> WriteSymbolToken
  • proc30 -> WriteRequiredNote
  • DoError -> DoError (kept)
  • global1 (field) -> modExtra
  • global2 -> savedEditPos
  • global3 -> opCharTable
  • global4 -> doSymtabRollback
  • global5 -> errorNumber
  • global6 -> currentDrive
  • global7 -> driveInitDone
  • globalPtr -> errorMarkPtr
  • options -> compileOptions
  • pipe -> listPipeChar

CODEGEN

  • proc4 -> DiscardPending
  • proc5 -> SetPendingOp
  • proc6 -> EmitTypedOp
  • proc7 -> EmitExtendedOp
  • proc8 -> QueueConst
  • proc9 -> QueueLongConst
  • proc10 -> EmitStandardOp
  • proc11 -> EmitMiscOp
  • proc12 -> OpenFixup
  • proc13 -> CloseFixup
  • proc14 -> InsertFixup
  • proc15 -> AdjustFixup
  • proc16 -> MarkCodePos
  • proc17 -> EmitSystemCall
  • proc18 -> EmitExtCall3
  • proc19 -> PeekCodeByte
  • proc20 -> PokeCodeByte
  • proc22 -> OpenEmitter
  • proc23 -> FlushCodeWindow
  • proc24 -> InitCodeGenerator
  • proc26 -> CodeAssert
  • proc28 -> SeekCodeWindow
  • proc29 -> CheckCodeOverflow
  • proc30 -> FlushPendingOp
  • proc31 -> BaseOpCode
  • proc32 -> FlushConstQueue
  • proc33/34/36 -> Reserved33/34/36 (no-op stubs)
  • proc35 -> IsPowerOfTwo
  • global2 -> nextEmitPos
  • global3 -> windowBase
  • global4 -> windowLimit
  • global5 -> emitEnabled
  • global6 -> codeWindow
  • global7 -> pendMode
  • global8 -> pendSize
  • global9 -> pendDisp
  • global10 -> pendOffset
  • global11 -> fixupQueue
  • global12 -> fixupCount
  • global13 -> spare13
  • global14 -> pendActive
  • global15 -> checkOverflow

SYMTAB (DEF only)

  • global2 -> symOptions
  • global3 -> moduleCount
  • global4 -> symFile
  • global5 -> stringPoolPtr
  • global6 -> moduleTable
  • global7 -> scopeStack
  • global8 -> rollbackStack
  • global9 -> currentScope
  • proc1 -> CompileDispatch
  • proc2 -> DefineDefinitionModule
  • proc3 -> DefineProgramModule
  • proc4 -> InitSymbolTables
  • proc5 -> BuildBitsetConst
  • proc6 -> SaveSymbolFile
  • proc7 -> RestoreAfterEdit
  • proc8 -> SymbolAssert

SYMTAB bodies (SYMTAB.MOD draft v1; all new, no upstream source)

FindModule/EnterModule/LookupChain/MatchSym/SymbolAssert/CheckNode/NewString/ GetName/PutAttr/GetAttr/AllocSym/EnterChained/EnterIdent/UnlinkScope/InitHeaps/ InsertBuiltin(nested)/EnterStandards/LoadSymFile/LibRead(nested)/ImportAll/ FindExport+ListExports+ImportOne(nested)/SkipQualident/DefineDefinitionModule/ BuildBitsetConst/DefineProgramModule/InitSymbolTables/NoteImported/DoImportList/ CompileBody/CheckForwards/TryCompile/CompileDispatch/Checksum7w/SaveSymbolFile/ RestoreAfterEdit. Heap/feature globals: modStage/scopeChain/ownNamePtr/ symHeapBase/scopeHeapBase/strHeapBase/symTop/scopeTop/strTop/exportHead/ stageNameTotal/savedSymInfo/savedStrInfo/symCap/scopeCap/strCap/stageFlag/ checksumTemp. See SYMTAB.MOD header for resolved conflicts + open FIXMEs.

SYMTAB stage-2 amendments (v1.00 hardware proofs, Oct 2026)

  • COMPILER.dword27 -> allocHook: PROCEDURE(ADDRESS, ADDRESS) (appended last in COMPILER.DEF, no slot shifts). PASS1 stores a hook address (store COMPILER.dword27); SYMTAB calls it (load dword27 + extern_proc_call, byte-exact shape proven). Was misread as allocateSignature (a type symbol) — wrong target.
  • ERRORS.word2 = savedEditPos ONLY (edit-position save in DoError). ERRORS.word5 = last-error-code (private errorNumber, stored by PrintOverlayMessage @0677, printed by FindFileOnDrives). TryCompile's saveErr was fiction: 0b4c compares savedEditPos > savePos (edit happened -> rollback+retry, else HALT). RENAME-MAP global5->errorNumber refers to this word5 (correct as-is).
  • SYMTAB.word8 = scopeChain, word9 = currentScope, SYMTAB.proc7 = RestoreAfterEdit (all proven from ERRORS.MCD call sites).
  • Heap-budget abbreviations (MOD-private impl vars only; DEF/external names untouched; comments keep long forms): symHeapBase->symHeap, scopeHeapBase->scpHeap, strHeapBase->strHeap, exportHead->expHead, stageNameTotal->namTotal, savedSymInfo->savSym, savedStrInfo->savStr, stageFlag->stgFlag, stageSpare11->spare11, stageSpare26->spare26, checksumTemp->chkTemp.
  • v1.00 bans (all probe-proven): indexing/dereferencing transfer results (Words(x)^[i], P(x)^.f) -> view-typed params (PutAttr/AllocSym/ EnterIdent scope/src retyped to Words, zero-cost transfers at call sites) or temps; CARDINAL compares for T1-vs-RecordPtr; curSym = 0 for eq0; keyHash DEF is (ADDRESS, CHAR) (original's (Identifier, CHAR) unsatisfiable under retail nominal checks; U-probes prove identical pushes; CHR(ORD())/ORD()/CHR() are zero-cost).
  • OOM often masks type errors (VAR-mismatch, Allocate(ADR(..)) OOM instead of erroring) — isolate suspects in fresh-heap ZZ probes, never trust the cliff position alone. ELSIF-nesting pins condition heap; tail-positioned chains flattened to sequential IF+RETURN (EnterIdent).

STATEMEN (STATEMEN.MOD draft v1; all new, no upstream source)

CalcMemOffset/SyncToStatStart/ParseCaseStmt/ParseFor/ParseWhile/ParseRepeat/ ParseIf/ParseLoop/ParseExit/ParseResult/ParseWith/ParseReturn/NextSymWrap/ ParseStatSeqLoop/EmitJumpFixup/ParseStatement/GuardedStatSeq/ParseCaseTail/ CloseBlockChain/EmitNameHash/EmitComBytes/ParseBeginBlock. Globals: needEpilogue/withPending/nestDepth/exitDepth/curBlockNode/caseActive/ withDesc/exitEmitted (words 2-9).

PASS1 (PASS1.MOD draft v1; all new, no upstream source)

PushTempMark/PopTempMark/AllocSymEntry/LinkSymEntry/InsertSetConst/CondInsert/ InsertEntry/OpenScopeEmit/TypeSizeRec/GetIdent/ParseImportItem/ParseConstDecl/ ParseVarDecl/ParseType/ParseFormalParams/ParseValParam/ParseVarParam/ ParseFieldList/EvalConstExpr/CheckConformant/ParseRecordType/CloseScopeFixup/ ParseProcedureDecl/ParseModuleHead/ParseExportList/ParseOneDecl/ ParseDeclarations/ParseImportFrom/ParseModuleBlock/ParseProcBody/ ParseMainModule/WriteMcdHeader/EmitConstVal/EmitTypeDesc + stubs (EmitModuleProlog/ParseDeclSync/ParseConstOrTypeArm/ParseModuleArm/ TryParseDecl/ParseImportScope/CheckForwardResolved/Pass1Main/InitPass1). Globals: emitBase/emitTop/nestDepth (words 2-4).

GENZ80 = INTELL (GENZ80.MOD draft v1) + NATIVE (NATIVE.MOD draft v1)

INTELL: FlushCode/PutCode/WriteCodeListing/EmitByte(s)/EmitWord/EmitOpWord/ EmitOpByteWord/WriteCode/AlignEven/MoveReg/PushOperand/PopOperand/MakeHandle/ SwapOperands/InRegister/FreeReg/LookIf/UseReg/LoadAddress/StoreResult/PushReg/ AllocReg/FreeAllRegs/NormResult/DestroyReg/DropRegs/ScratchAlloc/UseScratch/ GetUse/NilTest/RotateReg/Dispose/Prelude/Accum/Preadjust/AccSize/LoadOperand1/ Operate/InOutPort/LoadOperator/CondJump/OverflowOp/OperateHL/AddOp/LoadVar/ MoveVar/StoreVar/StoreStatic. Globals: codePos/opMode/opFlag/auxFlag5/ opSaveA-C pairs/fixA-C/codeBase/codeLimit/codeBuf+codeBytes/regAlloc-Tmp-Keep- Used-Want-Drop-Dest-Scr/regDesc/scrReg (words 2-27). NATIVE: Assert/Fatal/OpSize/Operand/Interp/IsRuntim/IsRelop/OpFill/Init/ GetByt/NextBy/NextWo/Lookah/NewLin/WriteH/WriteT/WriteA/PatchWord/ PatchWordIndexed/WritePatch/PushBase/SetLabel/GenBlas/ExHandle/GenLabel12/ PushIt/PopIt/PushOp/StackEnd/GenCall/NativeMain + NProc/IProc FORWARDs.

SCANNER interface abbreviations (v1.00 name-table budget, proven on hardware)

ChangeFileExtension->ChangeExt, ExpectStringLiteral->ExpectStr, MakeIdentifierNode->MakeIdent, DeclareIdentifier->DeclIdent, TestSymbolRange40/13->TestRange40/13, CopyStringToHeap->CopyString, EnterModuleSymbol->EnterModSym, ExpectIdentKind->ExpectKind, keywordHashFunc->keyHash, charClassTable->charClass, listingEnabled->listing, longrealValue->lrealVal, PushWithScope->PushWith, OpenSourceFile->OpenSource, NeedIdentifier->NeedIdent, TestSymbolInSet->TestSet, CheckStackMark->CheckStack. DEF params single letters (must match MOD exactly). DEF imports trimmed to interface-used (SYSTEM/Compiler/Files/SymTab). Same discipline required for all future DEFs.