Re: meta-compiler
Mark Slicker <[email protected]>
| Newsgroups | gmane.comp.lang.forth.colorforth |
|---|---|
| Message-ID | <[email protected]> |
I made a few mistakes in the dictionary building code, here is an updated version: : names [ 5 block delta negate + ] ; : zero 0 over ! ; : ?macro 3 f@ [ 3 f@ ] or drop if [ names -2 + zero ] dup 2 + ; then [ names -1 + zero ] dup 129 + ; : entry [ last ] @ dup @ [ delta 4 * ] + swap [ gap negate ] + @ ; : define defer 1 ?macro over @ + dup push entry pop ! swap [ 128 1024 + ] + ! +! ;