From 724ac8ae394675a78c2977c6e35555b210256e01 Mon Sep 17 00:00:00 2001 From: Taylan Kammer Date: Mon, 1 Jun 2026 21:49:37 +0200 Subject: docs -> doc --- doc/c1/index.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 doc/c1/index.md (limited to 'doc/c1/index.md') diff --git a/doc/c1/index.md b/doc/c1/index.md new file mode 100644 index 0000000..af01cea --- /dev/null +++ b/doc/c1/index.md @@ -0,0 +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