summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorQuinn Stephens <quinn@osmora.org>2025-06-09 21:55:19 -0400
committerQuinn Stephens <quinn@osmora.org>2025-06-09 21:55:19 -0400
commitc7c2e0dc65b0ea01d297de21983acbd1019df025 (patch)
treeebe517b36d77744adb23be0b227b855fcf392f39 /README.md
parentc1abbf40752027d5c0f8f4853312a882ae3088d6 (diff)
Add documentation on compiler internals to README
Signed-off-by: Quinn Stephens <quinn@osmora.org>
Diffstat (limited to 'README.md')
-rw-r--r--README.md3
1 files changed, 3 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..3d6f488
--- /dev/null
+++ b/README.md
@@ -0,0 +1,3 @@
+# OSMORA C Compiler
+## Optimizations
+The OSMORA C Compiler uses several optimizations to speed up the compilation process. Firstly, the lexer only scans one token at a time, because creating a list of tokens would waste memory and take more time, even though the parser will usually only need to access one token at any given time. Additionally, the lexer uses a hashmap to locate a keyword structure from its string form. Likewise, the parser also uses a hashmap to store all the symbols whose declarations it has parsed.