From f66ab11456244b12c48ee9231cec5c8b54b47efe Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Mon, 10 Aug 2026 11:11:18 -0700 Subject: Chapter 29: Tech Debt Cleanup Co-authored-by: Hsiang-Ying Fu <66062782+fuhsnn@users.noreply.github.com> Co-authored-by: fuhsnn <66062782+fuhsnn@users.noreply.github.com> Co-authored-by: Symious <14933944+symious@users.noreply.github.com> Co-authored-by: Jun Kawasaki Co-authored-by: Claude Opus 5 --- src/main/java/com/seaofnodes/simple/README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/main/java/com/seaofnodes/simple/README.md (limited to 'src/main/java/com/seaofnodes/simple/README.md') diff --git a/src/main/java/com/seaofnodes/simple/README.md b/src/main/java/com/seaofnodes/simple/README.md new file mode 100644 index 00000000..613f66b4 --- /dev/null +++ b/src/main/java/com/seaofnodes/simple/README.md @@ -0,0 +1,15 @@ +# Compiler source layout + +| Directory | Contents | +| --- | --- | +| `parser/` | Recursive-descent grammar routines, lexing, name resolution, and construction of the initial IR. `Var` describes a lexical binding. See the [grammar map](../../../../../../docs/chapter29/29-grammar.md). | +| `node/` | Sea-of-Nodes IR nodes: graph edges, type computation, and local peephole rewrites. | +| `node/cpus/` | Machine-specific nodes and instruction selection support for `arm`, `riscv`, and `x86_64_v2`. | +| `codegen/` | Compilation driver and passes: module loading, optimization, scheduling, register allocation, serialization, and machine-code emission. `IterPeeps` runs the peephole worklist. | +| `type/` | The type lattice, type interning, and representations of values, structs, functions, and memory. | +| `print/` | IR/assembly printers and adapters for the shared graph viewer. | +| `util/` | General-purpose collections, bit sets, byte buffers, and other small utilities. | + +The root package retains `sys.java`, which loads the default Simple namespace. +Java tests, the command-line driver, and the IR evaluator live under +`src/test/java`; the Simple standard library lives under `src/main/smp`. -- cgit v1.2.3