read-odd-word ( -- )


Vocabulary
rosetta-code.odd-word

Inputs
None

Outputs
None

Definition


:: read-odd-word ( -- )
f :> first-continuation! f :> last-continuation! f
:> reverse!
[ read1 dup ] [
dup Letter? [
reverse [
last-continuation savecc dup
[ last-continuation! 2drop ]
[ drop swap write1 jump-back ] if
] [ write1 ] if
] [
reverse [
savecc dup [
first-continuation! last-continuation
jump-back
] [ drop ] if write1 f reverse!
] [
write1 t reverse! savecc dup
[ last-continuation! ]
[ drop first-continuation jump-back ] if
] if
] if
] while drop nl ;