retroforth/bin/listener
crc 183c5bae38 Initial checkin (from 58fa921 in the old git repo)
FossilOrigin-Name: d2b8467883db80cb179089e1db1b1ed4dff1f11b4bee7086ee46d83f3ee0136e
2017-10-16 16:09:39 +00:00

29 lines
649 B
Text
Executable file

#/bin/sh
stty cbreak
cat >~/.listener.r12 << 'EOF'
~~~
{{
:banner (-)
'RETRO_12_(rx- puts @Version #100 /mod putn $. putc putn $) putc nl
EOM putn '_MAX,_TIB_@_1025,_Heap_@_ puts @Heap putn nl ;
:getc (-c) `1001 ;
:eol? (c-f)
[ ASCII:CR eq? ] [ ASCII:LF eq? ] [ ASCII:SPACE eq? ] tri or or ;
:gets (-a)
#1025 buffer:set
[ getc dup buffer:add eol? ] until buffer:start s:chop ;
:valid? (s-sf)
dup s:length n:-zero? ;
---reveal---
:bye (-) `26 ;
:listen (-)
banner
repeat gets valid? [ interpret ] [ drop ] choose again ;
}}
listen
~~~
EOF
./bin/rre ~/.listener.r12
rm -f ~/.listener.r12
stty -cbreak