readme.md (2186B)
1 2 # Unnamed Compiled Systems Language Project 3 4 > "O. Inspired by Oberon and gO, and it's like C without the sharp edges." - @adamwp 5 6 It doesn't really have a name yet. The project is still very early. 7 The syntax and features are incomplete and will change. It is way, way 8 too early to do much of anything but watch me tinker with things, 9 building this incrementally. 10 11 The general plan is a small compiled systems language (in complexity, 12 source size, and binary size) borrowing syntax from some of my favorite 13 "braces languages", C, Go, and Rust, aiming to be a bit safer than C, 14 and suitable for small, embedded, self-hosted systems. 15 16 ### [Why write a compiler?](docs/why-write-a-compiler.md) 17 Do you have to have a reason? 18 19 ### [Resources and Inspiration](docs/resources-and-inspiration.md) 20 Documents and things that inspired this adventure. 21 22 ### [Notebook](docs/notebook.md) 23 A place for commentary, ideas, and random jottings. 24 25 ### [Todo List](docs/todo.md) 26 Little boxes to be ticked when tasks are completed. 27 28 ### Status 29 30 It's currently compiling a subset of the work-in-progress language and 31 generating binaries for the Project Oberon 32 [Risc 5 Architecture](docs/project-oberon-risc5-architecture.txt). 33 34 I plan to also support RISCV (RV32I) as a target soonish, and if the 35 project keeps moving will eventually target X86-64 because why not. 36 37 It's presently written in C, but once the core language is suitably 38 featureful and codegen is reasonably reliable I plan to translate it 39 to itself and become self-hosted. 40 41 ### License and Third Party Code 42 43 All of the code here is provided under the 44 [Apache 2.0 License](https://www.apache.org/licenses/LICENSE-2.0.txt) 45 with the exception of third party modules which live under the 46 [external/](external/) directory. 47 48 Notably, [external/oberon-risc-emu/](external/oberon-risc-emu/) contains 49 the core RISC5 Emulator implemention from Peter Dr Wachter's excellent 50 [Oberon Risc Emu](https://github.com/pdewacht/oberon-risc-emu), which is 51 under a [BSD-like license](external/oberon-risc-emu/LICENSE). 52 53 I borrowed just the CPU emulation for a simple commandline runtime. The 54 original project is a full Project Oberon Workstation emulator. 55