aboutsummaryrefslogtreecommitdiff
path: root/amforth-6.5/examples/parsed-to.frt
diff options
context:
space:
mode:
Diffstat (limited to 'amforth-6.5/examples/parsed-to.frt')
-rw-r--r--amforth-6.5/examples/parsed-to.frt22
1 files changed, 22 insertions, 0 deletions
diff --git a/amforth-6.5/examples/parsed-to.frt b/amforth-6.5/examples/parsed-to.frt
new file mode 100644
index 0000000..8c06769
--- /dev/null
+++ b/amforth-6.5/examples/parsed-to.frt
@@ -0,0 +1,22 @@
+
+\ prepend -> to a value name and act like TO
+\ 42 to answer
+\ is the same as
+ \ 42 ->answer
+\ The -> should be made a synonymous to TO
+\
+\ actions
+:noname defer! ;
+:noname postpone literal postpone defer! ;
+:noname postpone 2literal ;
+recognizer: r:parsed-to
+
+: rec-parsed-to ( addr len -- addr r:parsed-to | r:fail )
+ over @ $3e2d = ( -> ) 0= if 2drop r:fail exit then
+ \ something left?
+ 2 /string dup 0= if 2drop r:fail exit then
+ \ search for the name
+ find-name 0= if r:fail exit then
+ ( -- xt )
+ r:parsed-to
+;