1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2024-06-11 23:29:29 +00:00

Get rid of EXPECT - ACCEPT does input better

This commit is contained in:
dschmenk 2024-01-08 13:32:38 -08:00
parent 7aed4d4d4a
commit bc1cf8368d
2 changed files with 6 additions and 24 deletions

Binary file not shown.

View File

@ -114,12 +114,12 @@ predef _var_(a)#0, _const_(a)#0, _lit_#1, _slit_#1, _find_(a)#2
predef _tick_#0, _forget_#0, _terminal_#1, _prat_(a)#0
predef _blank_#0, _char_#0, _str_#0, _prstr_#0, _prpstr_#0
predef _prval_(a)#0, _prbyte_(a)#0, _prhex_(a)#0
predef _accept_(a,b)#1, _query_#0, _expect_(a,b)#0, _type_(a,b)#0
predef _accept_(a,b)#1, _query_#0, _type_(a,b)#0
predef _vlist_#0, _tron_#0, _troff_#0, _stepon_#0, _stepoff_#0
predef _itc_#0, _pbc_#0, _comment_#0, _src_(a)#0, _srcstr_#0, _endsrc_(a)#0
predef _brk_#0, _brkon_#0, _brkoff_#0, _word_(a)#1, _count_(a)#2
predef _space_#0, _spaces_(a)#0, _show_#0, _showstack_#0, _showrstack_#0
predef _cont_#0, _exitforth_#0, _bye_#0, _quit_#0
predef _cont_#0, _restart_#0, _bye_#0, _quit_#0
predef _abort_(a)#0, _doabortstr_(a,b)#0, _abortstr_#0
predef compword(dentry)#0, execword(dentry)#0, isnum(a,b)#2
// DROP
@ -514,14 +514,10 @@ word = @d_terminal, 0, @getc
char d_query = "QUERY"
byte = 0
word = @d_key, 0, @_query_
// EXPECT
char d_expect = "EXPECT"
byte = 0
word = @d_query, 0, @_expect_
// ACCEPT
char d_accept = "ACCEPT"
byte = 0
word = @d_expect, 0, @_accept_
word = @d_query, 0, @_accept_
// WORD
char d_word = "WORD"
byte = 0
@ -633,7 +629,7 @@ word = @d_doabortstr, 0, @_abortstr_
// COLD exitforth
char d_exitforth = "COLD"
byte = 0
word = @d_abortstr, 0, @_exitforth_
word = @d_abortstr, 0, @_restart_
// COMMENT
char d_comment = "("
byte = imm_flag
@ -1625,20 +1621,6 @@ def _query_#0
^(inptr + ^inptr + 1) = 0
inptr++
end
def _expect_(a,b)#0
word saveinptr
saveinptr = inptr
memcpy(heapmark + 256, keyinbuf, 80)
inptr = gets('?'|$80)
if ^inptr > b
^inptr = b
fin
^(inptr + ^inptr + 1) = 0
memcpy(a, inptr + 1, ^inptr)
memcpy(keyinbuf, heapmark + 256, 80)
inptr = saveinptr
end
def _accept_(a,b)#1
word saveinptr
byte len
@ -1986,9 +1968,9 @@ def _abortstr_#0
fin
end
//
// exitforth
// Restart FORTH
//
def _exitforth_#0
def _restart_#0
coldstart
throw(@exitforth, FALSE)
end