Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gingerbill/blaise

Blaise Programming Language - A Language for Learning About Compilers
https://github.com/gingerbill/blaise

Last synced: 19 days ago
JSON representation

Blaise Programming Language - A Language for Learning About Compilers

Awesome Lists containing this project

README

        

# Blaise

Blaise (pronounced blɛz, after [Blaise Pascal](https://wikipedia.org/wiki/Blaise_Pascal)) is an educational languaged influenced by [Niklaus Wirth](https://wikipedia.org/wiki/Niklaus_Wirth)'s language [PL/0](https://en.wikipedia.org/wiki/PL/0) in his famous book [Algorithms + Data Structures = Programs](https://wikipedia.org/wiki/Algorithms_%2B_Data_Structures_%3D_Programs).

This language is meant as an educational tool to teach people how to make a compiler from scratch and all of the minimal stages to produce an executable.

* [Tokenization/Lexical Analysis](https://wikipedia.org/wiki/Lexical_analysis#Tokenization)
* [Recursive Descent Parsing](https://wikipedia.org/wiki/Recursive_descent_parser) (without an AST)
* [x86](https://wikipedia.org/wiki/X86) 32-bit Code Generation
* [PE File Format](https://docs.microsoft.com/en-us/windows/win32/debug/pe-format)