Skip to content
Browse files

Restructure project layout. Move libraries and modules to lib/. Remov…

…e bootstrap.4k from src/
  • Loading branch information...
1 parent c7fa5ca commit b7349ae7955382a05d8b5ba7273b73d587bf5e65 @danmey committed Jun 9, 2011
View
3 .gitignore
@@ -34,3 +34,6 @@ bin
boot.4k
push.sh
robots
+/temp
+/a.out
+/intro
View
31 IDEA
@@ -0,0 +1,31 @@
+FourK
+=====
+
+1. Język
+ Standardowy dialekt Fortha. Maszyna stosowa, słowa są odzielane białymi znakami. Każde słowo ma efekt na stosie. Są 3 stosy:
+ - parametrów
+ - powrotu
+ - zmienno przecinkowy - zmapowany na stos FPU bezpośrednio
+
+ Wirtualna maszyna, tokenizer jest całkowicie zakodowany w assemblerze (składnia GAS).
+ Oprócz assemblera w dużej mierze został wykorzystany preprocesor M4.
+
+2. Słowa wbudowane
+ Są zaimplementowa w assemblerze, i M4.
+ Definicje słów i wbudowanych zmiennych globalnych znajdują się w src/prim.s.
+ Potrzebne makra do ich zbudowania są w src/dict.m4.
+ Każde słowo wbudowane
+
+2. Interpreter
+3. Wirtualna maszyna
+ esp - zawiera stos powrotu
+ ebx - stos parametrów
+ ebp - adres powrotu do interpretera
+ esi - adres następnego bajt kodu
+
+4. Kompilator
+5. Zrzucanie image
+6. Optymalizacja
+7. Kompresja
+
+Interpreter i wirtualna maszyna to jedna całość.
View
0 src/basic.4k → lib/basic.4k
File renamed without changes.
View
0 src/debug.4k → lib/debug.4k
File renamed without changes.
View
0 disas.4k → lib/disas.4k
File renamed without changes.
View
0 src/imports.4k → lib/imports.4k
File renamed without changes.
View
0 print.4k → lib/print.4k
File renamed without changes.
View
0 section.4k → lib/section.4k
File renamed without changes.
View
0 sh.4k → lib/sh.4k
File renamed without changes.
View
0 stackx.4k → lib/stackx.4k
File renamed without changes.
View
0 token.4k → lib/token.4k
File renamed without changes.

0 comments on commit b7349ae

Please sign in to comment.
Something went wrong with that request. Please try again.