diff --git a/Makefile b/Makefile
index 4fc1b6c..531578a 100644
--- a/Makefile
+++ b/Makefile
@@ -2,8 +2,8 @@ make: trie $(wildcard src/*.c)
mkdir -p bin
gcc src/*.c -Wall -Wextra -pedantic -ggdb -o bin/sysh
-trie: triegen.py commands
- python triegen.py commands src/trie.c
+trie: gen/triegen.py gen/commands
+ python gen/triegen.py gen/commands gen/syscalls_x86_64 src/trie.c
clean:
rm -f src/trie.c
diff --git a/examples/cat.sysh b/examples/cat.sysh
new file mode 100644
index 0000000..fb8db4c
--- /dev/null
+++ b/examples/cat.sysh
@@ -0,0 +1,5 @@
+.set $buf { .alloc 1024 }
+.set $read { read 0 $buf 1024 }
+write 1 $buf $read
+.free $buf
+
diff --git a/examples/helloworld.sysh b/examples/helloworld.sysh
new file mode 100644
index 0000000..0188033
--- /dev/null
+++ b/examples/helloworld.sysh
@@ -0,0 +1 @@
+write 1 "Hello, world!\n" 14
diff --git a/gen/commands b/gen/commands
new file mode 100644
index 0000000..927ae4a
--- /dev/null
+++ b/gen/commands
@@ -0,0 +1,10 @@
+.alloc C_ALLOC
+.realloc C_REALLOC
+.free C_FREE
+.set C_SET
+.cpy C_CPY
+.deref C_DEREF
+.strerror C_STRERROR
+.if C_IF
+.while C_WHILE
+.for C_FOR
diff --git a/commands b/gen/syscalls_x86_64
similarity index 100%
rename from commands
rename to gen/syscalls_x86_64
diff --git a/triegen.py b/gen/triegen.py
similarity index 86%
rename from triegen.py
rename to gen/triegen.py
index 40eb3a3..aa40a32 100755
--- a/triegen.py
+++ b/gen/triegen.py
@@ -9,17 +9,18 @@ if len(sys.argv) < 3:
print("Not enough arguments. Usage: triegen.py