+BYE = defPrimWord("BYE", () -> begin
+ return 0
+end)
+
+PROMPT = defPrimWord("PROMPT", () -> begin
+ println(" ok")
+end)
+
+NL = defPrimWord("\n", () -> begin
+ if mem[STATE] == 0 && currentSource() == STDIN
+ callPrim(mem[PROMPT])
+ end
+ return NEXT
+end, flags=F_IMMED)
+
+INCLUDE = defPrimWord("INCLUDE", () -> begin
+ callPrim(mem[WORD])
+ wordLen = popPS()
+ wordAddr = popPS()
+ word = getString(wordAddr, wordLen)
+
+ push!(sources, open(word, "r"))
+
+ # Clear input buffer
+ mem[NUMTIB] = 0
+
+ return NEXT
+end)
+
+EOF_WORD = defPrimWord("\x04", () -> begin
+ if currentSource() != STDIN
+ close(currentSource())
+ end
+
+ pop!(sources)
+
+ if length(sources)>0
+ if currentSource() == STDIN
+ callPrim(mem[PROMPT])
+ end
+
+ return NEXT
+ else
+ return 0
+ end
+end, flags=F_IMMED)
+