# Folder analysis Working dir: `Turbo-modula2/` (this repo, newly initialised). Upstream inputs below are **local only**, listed here for reference, ignored by git. ## `Reversing-Turbo-Modula2-main/` * `README.md:1-11` — method: Z80 disasm -> MCode spec -> MCode disasm -> manual decompile. Kernel/shell/editor/syslib fully decompiled, compiler only partially. * `Z80_disassembly/m2_z80.txt` — raw Z80 (MCode interpreter + fast paths). * `MCode_specification/` — MCode opcode spec as a Modula-2 interpreter. * `MCode_disassembly/` — output of `unassemble.c`: `m2_mcd.txt` (13669 lines, whole system), `compiler.txt` (1350), `scanner.txt` (1901), `symtab.txt` (2365), `errors.txt` (1421), `codegen.txt` (1746), `compile.txt` (74, link stub), `pass1.txt` (2975), `statement.txt` (1793), `express.txt` (3898), plus `shell/editor/files/texts/...` for the rest of the system. * `decompiled/` — `KERNEL/`, `SHELL/`, `EDITOR/`, `SYSLIB/` usable; `COMPILER/` = `README.md` + `COMPILER|SCANNER|ERRORS|CODEGEN.{DEF,MOD}` in the "works but `procN/globalN`" state this project addresses. No `SYMTAB.MOD`, no `PASS1/STATEMEN/EXPRESS.MOD` yet. * `unassemble.c` — the disassembler itself. ## `Turbo-Modula-2-Reloaded-main/` * `README.md` — pedagogical 64KB system: MCode VM (`vm_linux/`) + FAT32 `m2.dsk`. Boot with `./m2_disk m2.dsk`. * `m2.dsk` + `disk_content/` — same tree as the disk image. * `disk_content/COMPILER.DIR/` — buildable compiler: `COMPILER|SCANNER|ERRORS|CODEGEN|SYMTAB.{DEF,MCD,SYM}`, `ERRORS1.MOD`, `C.MOD` (driver `MODULE M2C`), `M2.MCD`, `COMPILE.DIR/{COMPILE,PASS1,STATEMEN,EXPRESS}.MCD`. `SCANNER.MOD` here is a stub; `COMPILER.MOD/ERRORS.MOD/CODEGEN.MOD` mirror the `Reversing-.../decompiled/` versions. ## This repo (`docs/compiler/`) Only this is committed. Everything else is input data.