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.
PROC1 -> InitCompilerPROC3 -> InsertIdentPROC4 -> DeclConstPROC5 -> DeclStdProcPROC6 -> DeclProcPROC7 -> DeclFuncPROC8 -> NewTypeDescPROC9 -> DeclTypePROC10 -> InitOperatorTablePROC11 -> AddOperatorPROC12 -> InitCharClassesPROC13 -> InitKeywordTablePROC14 -> DeclarePredefinedTypesPROC15 -> MakeParamListPROC16 -> DeclareStandardNamesPROC17 -> DeclareSystemModulePROC18 -> DeclareStorageModuleGETINP -> OpenSourceAndOutputglobal2 -> rangeCheckEnabledglobal3 -> scopeSpare3global4 -> stdScopeAnchorglobal5 -> keywordTableglobal12 -> charArrayDescglobal17 -> addressAliasglobal20 -> systemModuleglobal21 -> storageModuleglobal22 -> allocateSignatureglobal23 -> systemScopeDescglobal24 -> storageScopeDescglobal25 -> nativeCodeRequestedglobal26 -> compilationActiveglobal27 -> reserved27global28 -> reserved28global29 -> reserved29global30 -> reserved30global31 -> curScopeHeadglobal32 -> savedScopeHeadglobal33 -> baseScopeHeadglobal34 -> bitsetRangeDescglobal35 -> lastParamListproc1..28 (DEF only) -> overlayProc01..28 (link-stub imports, not Compiler-owned)proc1 -> GetSymproc2 -> NextCharproc3 -> PushWithScopeproc4 -> AcceptSymbolproc5 -> GetStackMarkproc6 -> CheckStackMarkproc8 -> ExpectSymbolproc9 -> TestSymbolInSetproc10 -> TestSymbolRange40proc11 -> TestSymbolRange13proc12 -> NeedIdentifierproc13 -> ExpectIdentKindproc14 -> NewSizedNodeproc15 -> NewNodeproc16 -> CopyStringToHeapproc17 -> OpenScopeproc18 -> MakeIdentifierNodeproc19 -> DeclareIdentifierproc20 -> InsertSymbolproc21 -> ExpectStringLiteralproc25 -> ChangeFileExtensionproc26 -> ScannerErrorproc27 -> EnterModuleSymbolproc28 -> InitScannerproc29 -> OpenSourceFileproc32 -> WriteListingPrefixproc33 -> EchoSourceCharproc34 -> RefillBufferproc37 -> AccumulateDigitproc38 -> SkipCommentNumber -> ParseNumberTen -> Power10scanNextToken -> ScanNextTokenglobal2 -> scanOptionsglobal3 -> curCharglobal4 -> codeFileglobal5 -> curSymbolglobal6 -> isLiteralglobal7 -> cardValueglobal8 -> curNodeglobal9 -> identKindglobal10 -> followSetglobal11 -> tokenBufferglobal12 -> literalTypeglobal13 -> scopeCursorglobal14 -> realValueglobal16 -> sourceFileglobal17 -> longrealValueglobal21 -> codeBufferglobal22 -> codeSizeglobal23 -> listingEnabledglobal24 -> charClassTableglobal25 -> tokenPosglobal26 -> tokenColumnprocPtr27 -> keywordHashFuncglobal29 -> withScopeSaveglobal30 -> tokenLengthproc1 -> ReportErrorproc2 -> ReportErrorWithTextproc3 -> AskContinueproc4 -> WriteStringproc5 -> FindFileOnDrivesproc6 -> WriteKindNameproc7 -> WriteFoundTokenproc8 -> ShowErrorPositionproc9 -> AskEditOrQuitproc10 -> PrintOverlayMessageproc11 -> RollbackToMarkproc12 -> FatalErrorproc13 -> ReportAssignMismatchproc14 -> ReportTypeMismatchproc15 -> ReportIncompatibleTypesproc16 -> ReportExpectedSetproc19 -> TruncateScopeStackproc24 -> NextSetBitproc25 -> DerefAliasTypeproc26 -> WriteSlashFieldproc27 -> WriteTypeNameproc28 -> WriteTypeOfSymbolproc29 -> WriteSymbolTokenproc30 -> WriteRequiredNoteDoError -> DoError (kept)global1 (field) -> modExtraglobal2 -> savedEditPosglobal3 -> opCharTableglobal4 -> doSymtabRollbackglobal5 -> errorNumberglobal6 -> currentDriveglobal7 -> driveInitDoneglobalPtr -> errorMarkPtroptions -> compileOptionspipe -> listPipeCharproc4 -> DiscardPendingproc5 -> SetPendingOpproc6 -> EmitTypedOpproc7 -> EmitExtendedOpproc8 -> QueueConstproc9 -> QueueLongConstproc10 -> EmitStandardOpproc11 -> EmitMiscOpproc12 -> OpenFixupproc13 -> CloseFixupproc14 -> InsertFixupproc15 -> AdjustFixupproc16 -> MarkCodePosproc17 -> EmitSystemCallproc18 -> EmitExtCall3proc19 -> PeekCodeByteproc20 -> PokeCodeByteproc22 -> OpenEmitterproc23 -> FlushCodeWindowproc24 -> InitCodeGeneratorproc26 -> CodeAssertproc28 -> SeekCodeWindowproc29 -> CheckCodeOverflowproc30 -> FlushPendingOpproc31 -> BaseOpCodeproc32 -> FlushConstQueueproc33/34/36 -> Reserved33/34/36 (no-op stubs)proc35 -> IsPowerOfTwoglobal2 -> nextEmitPosglobal3 -> windowBaseglobal4 -> windowLimitglobal5 -> emitEnabledglobal6 -> codeWindowglobal7 -> pendModeglobal8 -> pendSizeglobal9 -> pendDispglobal10 -> pendOffsetglobal11 -> fixupQueueglobal12 -> fixupCountglobal13 -> spare13global14 -> pendActiveglobal15 -> checkOverflowglobal2 -> symOptionsglobal3 -> moduleCountglobal4 -> symFileglobal5 -> stringPoolPtrglobal6 -> moduleTableglobal7 -> scopeStackglobal8 -> rollbackStackglobal9 -> currentScopeproc1 -> CompileDispatchproc2 -> DefineDefinitionModuleproc3 -> DefineProgramModuleproc4 -> InitSymbolTablesproc5 -> BuildBitsetConstproc6 -> SaveSymbolFileproc7 -> RestoreAfterEditproc8 -> SymbolAssertFindModule/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.
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).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).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).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).
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).
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.
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.