retroforth/example/forth-style-comments.retro
crc a9fe2ff7e4 new example from kiyoshi: forth style comments
FossilOrigin-Name: d2bdb59da9bb7ab85b5e662cde55f2f57f4fe9c4ead33785fa94331a4089c803
2020-05-07 16:05:25 +00:00

24 lines
454 B
Forth

# Forth-style comments
End-of-Comment `Eo(` is a char, `)` by default.
If inconvenient, use some other char like
$| !Eo( -( blah foo|
Then `Eo(` is reverted to `)` .
~~~
'Eo( var (end-of-comment_char
{{
:parse (-s) [ @Eo( eq? ] parse-until ;
:revert (-) $) !Eo( ;
revert
---reveal---
:-( (c-) parse drop revert ; immediate
:+( (c-) parse s:put nl revert ; immediate
}}
~~~
```
#0 -( #1 #2 ) $| !Eo( +( #3 #4 | #5 -( #6 #7 ) #8
```