Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. (  Working with forth modules
  2.    Copyright [C] 2000 D.Yakimov day@forth.org.ru
  3. )
  4.  
  5. : MODULE: ( "name" -- old-current )
  6. \ start a forth module
  7. \ åÓÌÉ ÔÁËÏÊ ÍÏÄÕÌØ ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ, ÐÒÏÄÏÌÖÉÔØ ËÏÍÐÉÌÑÃÉÀ × ÎÅÇÏ
  8.   >IN @ ['] ' CATCH
  9.   IF >IN ! VOCABULARY GET-CURRENT
  10.      ALSO LATEST NAME> EXECUTE DEFINITIONS
  11.   ELSE
  12.      NIP GET-CURRENT SWAP ALSO EXECUTE DEFINITIONS
  13.   THEN
  14. ;
  15.  
  16. : EXPORT ( old-current -- old-current )
  17. \ export some module definitions
  18.    DUP SET-CURRENT
  19. ;
  20.  
  21. : ;MODULE ( old-current -- )
  22. \ finish the module
  23.    SET-CURRENT PREVIOUS
  24. ;
  25.  
  26. : {{ ( "name" -- )
  27. \ ëÌÁÄÅÔ × ORDER wordlist, Ë-ÙÊ ÄÁÓÔ "name"
  28. \ ÉÌÉ vocabulary ÅÓÌÉ "name" - vocabulary
  29.         DEPTH >R
  30.         ALSO ' EXECUTE
  31.        DEPTH R> <>             IF      \ wid on the stack?
  32.             CONTEXT !          THEN
  33. ; IMMEDIATE
  34.  
  35. : }}
  36.   PREVIOUS
  37. ; IMMEDIATE