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

https://github.com/mirryi/isc

Independent study to learn about compilers and programming languages.
https://github.com/mirryi/isc

compilers

Last synced: 5 months ago
JSON representation

Independent study to learn about compilers and programming languages.

Awesome Lists containing this project

README

        

Independent Study
=================

This repository contains the materials for my high school independent study
course on programming language compilers.

The goal is to write a basic compiler for a basic, unnamed language.

Components
==========

The following components have been / are being implemented:

automata [w] : implementation of nondeterminstic and deterministic finite
automata
lalr [p] : generation of SLR(1), LR(1), and LALR(1) parse tables from
context-free grammars
lalrgen [p] : parser generator as a procedural macro
llex [w] : lexical analyzer generator as a procedural macro
memalloc [b] : malloc/free implementation attempt as a dynamic lib
pratt [w] : attempt at a basic Pratt expression parser
regexp [w] : implementation of limited regular expressions
regexp2 [w] : better implementation of regular expressions with support
for character classes and other operators

See subdirectories for more information and examples.

[w]: Generally working
[p]: Partially working
[b]: Broken / never worked

Building
========

Rust is required to build the above components. See nested Makefiles for other
targets and requirements.