UrForth: fixed some bugs, added simple benchmark
[urasm.git] / urflibs / init / 00-main-loader.f
blob907c16c11db67cb25ed5bacf59b3694a02829959
1 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2 ;; and now for something completely different...
3 ;; UrForth/C Forth Engine!
4 ;; Copyright (C) 2023 Ketmar Dark // Invisible Vector
5 ;; GPLv3 ONLY
6 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
8 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
9 $include-once <bootstrap>
11 ;; ////////////////////////////////////////////////////////////////////////// //
12 ;; big and slow word optimiser
13 ;; totally doesn't worth it, but was fun to write
14 $IF 0
15 <public-words>
16 <protected-words>
17 $include-once <?sinopt-whole-word>
18 \ .( optimising system words...\n) (sinopt):optimise-system
19 \ .( activating optimiser...\n) (sinopt):activate
20 <public-words>
21 <unprotected-words>
22 $ENDIF
25 ;; ////////////////////////////////////////////////////////////////////////// //
26 ;; simple superinstruction optimiser
27 ;; fast, and sometimes is able to do very simple optimisations
28 $IF 1
29 <public-words>
30 <protected-words>
31 $include-once <../sinopt-peephole>
32 <public-words>
33 <unprotected-words>
34 $ENDIF
37 ;; ////////////////////////////////////////////////////////////////////////// //
38 $include-once <../stdlib>
41 ;; ////////////////////////////////////////////////////////////////////////// //
42 $IF $URASM-NEW
43 $include-once <?../urasm>
44 $ENDIF
46 $IF $DEBUGGER
47 $include-once <debugger.f>
48 $ENDIF
50 ;;$IF $STANDALONE OR $URASM-NEW
51 $IF $STANDALONE AND NOT $SKIP-REPL
52 $include-once <?../repl.f>
53 $ENDIF