No description
  • C++ 91.4%
  • ANTLR 4.2%
  • Meson 2.5%
  • M4 0.6%
  • Shell 0.5%
  • Other 0.8%
Find a file
2020-12-30 17:02:34 +05:30
include Finish up 1D array implementation 2020-12-30 17:02:34 +05:30
sample-programs Preliminary array support 2020-12-30 05:40:17 +05:30
src Finish up 1D array implementation 2020-12-30 17:02:34 +05:30
.gitignore Update gitignore 2020-12-30 05:37:33 +05:30
compile.sh Preliminary array support 2020-12-30 05:40:17 +05:30
libc.mpy Preliminary array support 2020-12-30 05:40:17 +05:30
Makefile Check for *any* stale ANTLR-generated code 2020-12-30 05:39:17 +05:30
meson.build Use precompiled headers 2020-12-30 05:40:01 +05:30
MiniC.g4 Preliminary array support 2020-12-30 05:40:17 +05:30
README Create README 2020-12-28 10:13:14 +05:30
shim.c Preliminary array support 2020-12-30 05:40:17 +05:30
test.mc Finish up 1D array implementation 2020-12-30 17:02:34 +05:30

Yet Another Compiler
====================

Build requirements: antlr4, meson, ninja, llvm

Build instructions
------------------

Adjust paths in Makefile, meson.build and compile.sh as needed.

1. make (everytime you change the grammar)
2. meson build (one-time)
3. ninja -C build

To use: `compile.sh <prog.mpy>`

Why is this called minipy?
--------------------------

I originally envisioned a Python-like syntax but Antlr got the better of me.

Credits
-------

Substantial material from https://llvm.org/docs/tutorial/index.html

What doesn't work
-----------------

Nonscalars