summaryrefslogtreecommitdiff
path: root/minie
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2018-08-31 13:10:59 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2018-08-31 13:10:59 +0200
commitc5c75d786de3e6d21ec146df9e043896feb8dfba (patch)
tree5eb472fc0622c8a00226652b5f6b90a545401727 /minie
parent21f6eb821811cd3c93cb6604da236a44d47e0749 (diff)
downloadcompilertests-c5c75d786de3e6d21ec146df9e043896feb8dfba.tar.gz
compilertests-c5c75d786de3e6d21ec146df9e043896feb8dfba.tar.bz2
.
Diffstat (limited to 'minie')
-rw-r--r--minie/DESIGN22
-rw-r--r--minie/README0
2 files changed, 22 insertions, 0 deletions
diff --git a/minie/DESIGN b/minie/DESIGN
new file mode 100644
index 0000000..35cb30f
--- /dev/null
+++ b/minie/DESIGN
@@ -0,0 +1,22 @@
+We want to build a simple compiler for a simple language.
+
+In the end we want to be self-hosting.
+
+Most languages stop maintaining the first compiler in another
+language because they optimize on their the compiler written
+in their own language.
+
+Starting with a C compiler is too hard, has too many quirks.
+
+Options:
+
+- Choose an existing language or a subset of it, e.g. a mini C
+ or mini Pascal. Use the main compiler to do initial builds.
+ Use itself to generate the self-hosting binary.
+
+- Choose a new language, create a converter to an existing
+ language (for instance C). Something like p2c.
+
+- Bootstrap new language in ever more complex compilers written
+ in the new language itself (as gcc does).
+ - problem: maintain 2, 3, 4 compilers
diff --git a/minie/README b/minie/README
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/minie/README