summaryrefslogtreecommitdiff
path: root/miniany/REQUIREMENTS
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2021-08-13 11:36:31 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2021-08-13 11:36:31 +0200
commit9ba1bb3d2007b37e3392208ef027f88d78e51c3e (patch)
tree26e24a12fa75f0346d3ab4f7e55d310bb81ab339 /miniany/REQUIREMENTS
parenta4e168a1b45b693bf68e30f37ea233b8f151329c (diff)
downloadcompilertests-9ba1bb3d2007b37e3392208ef027f88d78e51c3e.tar.gz
compilertests-9ba1bb3d2007b37e3392208ef027f88d78e51c3e.tar.bz2
cc: some work on the scanner, expression parser
Diffstat (limited to 'miniany/REQUIREMENTS')
-rw-r--r--miniany/REQUIREMENTS12
1 files changed, 12 insertions, 0 deletions
diff --git a/miniany/REQUIREMENTS b/miniany/REQUIREMENTS
index 474e975..cd6ffcf 100644
--- a/miniany/REQUIREMENTS
+++ b/miniany/REQUIREMENTS
@@ -29,3 +29,15 @@ not implementing:
- linker
- have compilation units needs a linker do build
an executable
+- symname[t] printing the symbol and not the number,
+ requires static initializers for array of char*
+- ASTs are basically only useful when you start to optimize,
+ till then you can use an intermediate format (as C4) does
+ and a stack machine. They also make the code easier readable.
+ For use they fore the introduction of pointers, references and structs.
+ In expression parsing we see, that const folding already needs
+ an AST, because we should not emit code when still reading
+ a constant expression. It also seperates syntactical stuff like '['
+ from logical stuff like 'declaration of array size' and 'derefencing
+ a pointer'.
+