diff --git a/ueforth/common/vocabulary.fs b/ueforth/common/vocabulary.fs index 5f0481e..dd00c6b 100644 --- a/ueforth/common/vocabulary.fs +++ b/ueforth/common/vocabulary.fs @@ -7,3 +7,28 @@ : transfer ( "name" ) ' context @ begin 2dup @ <> while @ >link& repeat nip dup @ swap dup @ >link swap ! current @ @ over >link& ! current @ ! ; + +( Hide some words in an internals vocabulary ) +vocabulary internals internals definitions +transfer branch +transfer 0branch +transfer 'notfound +transfer notfound +transfer immediate? +transfer evaluate1 +transfer 'sys +transfer 'heap +transfer aliteral +transfer leaving( +transfer )leaving +transfer leaving +transfer leaving, +transfer (do) +transfer (?do) +transfer (+loop) +transfer parse-quote +transfer digit +transfer $@ +transfer see. +transfer see-loop +forth definitions diff --git a/ueforth/posix/posix_desktop.fs b/ueforth/posix/posix_desktop.fs index 6e8e2c1..e1207fd 100644 --- a/ueforth/posix/posix_desktop.fs +++ b/ueforth/posix/posix_desktop.fs @@ -1,6 +1,8 @@ ( Arguments ) +internals : 'argc ( -- a ) 'sys 9 cells + ; : 'argv ( -- a ) 'sys 10 cells + ; +forth : argc ( -- n ) 'argc @ ; : argv ( n -- a n ) cells 'argv @ + @ z>s ; diff --git a/ueforth/windows/windows.fs b/ueforth/windows/windows.fs index 3deb1fe..a469c15 100644 --- a/ueforth/windows/windows.fs +++ b/ueforth/windows/windows.fs @@ -1,3 +1,5 @@ +vocabulary windows windows definitions + ( DLL Handling ) create calls ' call0 , ' call1 , ' call2 , ' call3 , ' call4 , ' call5 , @@ -102,6 +104,8 @@ $80 constant FILE_ATTRIBUTE_NORMAL : d0