The Lambda Lab
/
projects
/
forth.jl.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
4fc8dd4
)
Debugging first non-primitive word.
author
Tim Vaughan
<tgvaughan@gmail.com>
Sun, 17 Apr 2016 13:01:49 +0000
(
01:01
+1200)
committer
Tim Vaughan
<tgvaughan@gmail.com>
Sun, 17 Apr 2016 13:01:49 +0000
(
01:01
+1200)
src/forth.jl
patch
|
blob
|
history
diff --git
a/src/forth.jl
b/src/forth.jl
index
e8478a4
..
9da680c
100644
(file)
--- a/
src/forth.jl
+++ b/
src/forth.jl
@@
-158,6
+158,7
@@
end
function defWord(name::AbstractString, wordAddrs::Array{Int64,1}; flags::Int64=0)
createHeader(name, flags)
function defWord(name::AbstractString, wordAddrs::Array{Int64,1}; flags::Int64=0)
createHeader(name, flags)
+ addr = mem[HERE]
mem[mem[HERE]] = DOCOL
mem[HERE] += 1
mem[mem[HERE]] = DOCOL
mem[HERE] += 1
@@
-165,6
+166,8
@@
function defWord(name::AbstractString, wordAddrs::Array{Int64,1}; flags::Int64=0
mem[mem[HERE]] = wordAddr
mem[HERE] += 1
end
mem[mem[HERE]] = wordAddr
mem[HERE] += 1
end
+
+ return addr
end
# Threading Primitives
end
# Threading Primitives
@@
-543,13
+546,13
@@
TOCFA = defPrim(">CFA", () -> begin
return NEXT
end)
return NEXT
end)
-TODFA = defWord(">DFA", [TOCFA, INCR
1
, EXIT])
+TODFA = defWord(">DFA", [TOCFA, INCR, EXIT])
#### VM loop ####
#### VM loop ####
-
#function runVM(reg::Reg
)
-
#
jmp = NEXT
-
# while (jmp = callPrim(reg,
jmp)) != 0 end
-
#
end
+
function runVM(
)
+ jmp = NEXT
+
while (jmp = callPrim(
jmp)) != 0 end
+end
# Debugging tools
# Debugging tools