├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── README.md ├── contrib ├── ocaml │ ├── Makefile │ ├── README.md │ ├── part-1-compiler.ml │ └── prototype-compiler.ml ├── python │ ├── Makefile │ ├── README.md │ └── compiler.py └── rust │ ├── Cargo.toml │ ├── README.md │ ├── sample.program │ └── src │ └── bin │ └── part_1_compiler.rs ├── docs ├── .gitattributes ├── build.js └── index.html ├── part-1 ├── Makefile └── compiler.ts └── part-2 ├── Makefile ├── ast-traversal.ts ├── ast.ts ├── code-generator.ts ├── optimizer.ts ├── parser-combinators.ts ├── parser.ts ├── test.ts ├── type-checker.ts └── types.ts /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/.gitignore -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "contrib/rust" 4 | ] 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/README.md -------------------------------------------------------------------------------- /contrib/ocaml/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/contrib/ocaml/Makefile -------------------------------------------------------------------------------- /contrib/ocaml/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/contrib/ocaml/README.md -------------------------------------------------------------------------------- /contrib/ocaml/part-1-compiler.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/contrib/ocaml/part-1-compiler.ml -------------------------------------------------------------------------------- /contrib/ocaml/prototype-compiler.ml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/contrib/ocaml/prototype-compiler.ml -------------------------------------------------------------------------------- /contrib/python/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/contrib/python/Makefile -------------------------------------------------------------------------------- /contrib/python/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/contrib/python/README.md -------------------------------------------------------------------------------- /contrib/python/compiler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/contrib/python/compiler.py -------------------------------------------------------------------------------- /contrib/rust/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/contrib/rust/Cargo.toml -------------------------------------------------------------------------------- /contrib/rust/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/contrib/rust/README.md -------------------------------------------------------------------------------- /contrib/rust/sample.program: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/contrib/rust/sample.program -------------------------------------------------------------------------------- /contrib/rust/src/bin/part_1_compiler.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/contrib/rust/src/bin/part_1_compiler.rs -------------------------------------------------------------------------------- /docs/.gitattributes: -------------------------------------------------------------------------------- 1 | build.js linguist-generated=true -------------------------------------------------------------------------------- /docs/build.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/docs/build.js -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/docs/index.html -------------------------------------------------------------------------------- /part-1/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/part-1/Makefile -------------------------------------------------------------------------------- /part-1/compiler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/part-1/compiler.ts -------------------------------------------------------------------------------- /part-2/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/part-2/Makefile -------------------------------------------------------------------------------- /part-2/ast-traversal.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/part-2/ast-traversal.ts -------------------------------------------------------------------------------- /part-2/ast.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/part-2/ast.ts -------------------------------------------------------------------------------- /part-2/code-generator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/part-2/code-generator.ts -------------------------------------------------------------------------------- /part-2/optimizer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/part-2/optimizer.ts -------------------------------------------------------------------------------- /part-2/parser-combinators.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/part-2/parser-combinators.ts -------------------------------------------------------------------------------- /part-2/parser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/part-2/parser.ts -------------------------------------------------------------------------------- /part-2/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/part-2/test.ts -------------------------------------------------------------------------------- /part-2/type-checker.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/part-2/type-checker.ts -------------------------------------------------------------------------------- /part-2/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/keleshev/compiling-to-assembly-from-scratch/HEAD/part-2/types.ts --------------------------------------------------------------------------------