From fa5db8e89225622a1ee7a5d802f253d07884b13e Mon Sep 17 00:00:00 2001 From: Taylan Kammer Date: Mon, 25 May 2026 20:48:36 +0200 Subject: Grammar, parser, and doc improvements. --- docs/c1/index.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'docs/c1/index.md') diff --git a/docs/c1/index.md b/docs/c1/index.md index f306e11..af01cea 100644 --- a/docs/c1/index.md +++ b/docs/c1/index.md @@ -1,2 +1,30 @@ # Chapter 1: Genesis +This chapter goes through the processes involved in reading source +code, running it, and optionally compiling it. + +1. [Parse](1-parse.html) + + The parser receives a stream of bytes and transforms them into a + minimal set of data types with very little processing. + +2. [Decode](2-decode.html) + + The decoder runs configurable and extensible pre-processing steps + over data received from the parser, enriching it with more complex + data types, and handling primitive source code transforms. It's + comparable to the C pre-processor or Lisp's `DEFMACRO` mechanism, + with a few more responsibilities, such as number literal parsing. + +3. [Execute](3-execute.html) + + Code is executed (or interpreted, or evaluated) in an environment, + also called a module, which may be mutated, and linked with other + modules. Execution is immediate, without any pre-compilation. + +4. [Compile](4-compile.html) + + Procedures from within the compiler module can be used to demand + the compilation of other modules, with various options, yielding + static or dynamic object files. These may be loaded immediately, + replacing the previously uncompiled module code in memory. -- cgit v1.2.3