# TAGGED SUMMARY — compiler outline v1 [tag: compiler-outline-v1] One-page snapshot. Details in `00-overview.md` .. `70-rename-plan.md`. ## What Turbo Modula-2 compiler decompiles and runs, but `decompiled/COMPILER/` identifiers are `procN/globalN`. This folder restores the map without touching upstream sources (upstream dirs are git-ignored). ## Map * Resident: `Compiler` (symbol descriptor + predefs) + `Scanner` (128B window, `GetSym/Accept/Expect`) + `SymTab` (scopes, `.SYM` import/export) + `Errors` (`ERRMSGS.OVR`, `Edit/Quit`, rollback) + `CodeGen` (MCode emit, 2KB window, `OpenFix/CloseFix`). * Transient (`Loader.Call`): `COMPILE = Pass1` (decls/types/`WriteSym`) + `Statemen` (`STMT` dispatch 121..130, `FOR/CASE/IF/...`) + `Express` (`EXPRES`, designators, const-fold, std-proc expand) + `GENZ80` (native, later). * Drivers: `C.MOD M2C`, `Scanner.Compile`, `ComLine`. ## Key renames (proposed, `~` = to confirm by recompile) `Compiler`: `PROC3/4/5/6/7 InsertIdent/DeclConst/DeclStdProc/DeclProc/DeclFunc`, `PROC14/16/17/18 DeclarePredefTypes/DeclareStdNames/DeclareSYSTEM/DeclareSTORAGE`, `PROC1 InitCompiler`, `GETINP OpenSourceOutput`. `Scanner`: `proc1/2/4/8 GetSym/NextChar/Accept/Expect`, `proc30 Compile`. `CodeGen`: `Emit1/2/Word/String`, `Peek/Poke`, `FlushWindow/SeekWindow`, `OpenFix/CloseFix/InsertFix`. `SymTab`: `Find/EnterModule`, `LookupChain`, `ImportAll`, `SaveSym`. `Errors`: `Error/Msg/Fatal/FindFile/EditQuit/RollbackScope/Expected/TypeMismatch`. Frontend: `ParseType/ParseRecord/ParseFormals/ParseProcedure/ParseMain`, `ParseStatement/ParseStatSeq/ParseCASE/ParseFOR`, `ParseExpression/ParseSimpleExpr/FoldConstOp`. ## Next Follow `70-rename-plan.md` phases 1..4; one module per commit with `unassemble` match result. Tag for this snapshot: `compiler-outline-v1`.