Diff for /gforth/kernel/Attic/special.fs between versions 1.2 and 1.9

version 1.2, 1997/06/06 17:28:16 version 1.9, 1999/05/03 09:46:20
Line 1 Line 1
 \ words with non-default and non-immediate compilation semantics  \ words with non-default and non-immediate compilation semantics
   
 \ Copyright (C) 1996 Free Software Foundation, Inc.  \ Copyright (C) 1996,1998 Free Software Foundation, Inc.
   
 \ This file is part of Gforth.  \ This file is part of Gforth.
   
Line 21 Line 21
 \ this file comes last, because these words override cross' words.  \ this file comes last, because these words override cross' words.
   
 create s"-buffer /line chars allot  create s"-buffer /line chars allot
 :noname    [char] " parse  has? compiler 0= 
     /line min >r s"-buffer r@ cmove  [IF] : s" [ELSE] :noname [THEN]
     s"-buffer r> ;          [char] " parse
 :noname    [char] " parse postpone SLiteral ;          /line min >r s"-buffer r@ cmove
           s"-buffer r> ;
   has? compiler [IF]
   :noname [char] " parse postpone SLiteral ;
 interpret/compile: S" ( compilation 'ccc"' -- ; run-time -- c-addr u )  \ core,file     s-quote  interpret/compile: S" ( compilation 'ccc"' -- ; run-time -- c-addr u )  \ core,file     s-quote
     \G Compilation: Parse a string ccc delimited by a " (double quote). At run-time,
     \G return the length, u, and the start address, c-addr of the string. Interpretation:
     \G parse the string as before, and return c-addr, u. The string is stored in a
     \G temporary buffer which may be overwritten by subsequent uses of @code{S"}.
   [THEN]
   
   has? compiler [IF]
 : [IS] ( compilation "name" -- ; run-time xt -- ) \ possibly-gforth bracket-is  : [IS] ( compilation "name" -- ; run-time xt -- ) \ possibly-gforth bracket-is
     ' >body postpone ALiteral postpone ! ; immediate restrict      ' >body postpone ALiteral postpone ! ; immediate restrict
   
Line 41  interpret/compile: What's ( "name" -- ad Line 50  interpret/compile: What's ( "name" -- ad
 :noname    [char] " parse type ;  :noname    [char] " parse type ;
 :noname    postpone (.") ,"  align ;  :noname    postpone (.") ,"  align ;
 interpret/compile: ." ( compilation 'ccc"' -- ; run-time -- )  \ core   dot-quote  interpret/compile: ." ( compilation 'ccc"' -- ; run-time -- )  \ core   dot-quote
     \G Compilation: Parse a string ccc delimited by a " (double quote). At run-time,
     \G display the string. Interpretation semantics for this word are undefined in
     \G the ANS Forth Standard. Gforth's interpretation semantics are to display the
     \G string. This is the simplest way to display a string from
     \G within a definition; see examples below.
   
 \ DOES>                                                17mar93py  \ DOES>                                                17mar93py
   
Line 48  interpret/compile: ." ( compilation 'ccc Line 62  interpret/compile: ." ( compilation 'ccc
     dodoes, here !does ]      dodoes, here !does ]
     defstart :-hook ;      defstart :-hook ;
 :noname  :noname
     ;-hook postpone (does>) ?struc dodoes,      ;-hook ?struc exit-like postpone (does>) dodoes,
     defstart :-hook ;      defstart :-hook ;
 interpret/compile: DOES>  ( compilation colon-sys1 -- colon-sys2 ; run-time nest-sys -- ) \ core        does  interpret/compile: DOES>  ( compilation colon-sys1 -- colon-sys2 ; run-time nest-sys -- ) \ core        does
           
 ' IS Alias TO ( addr "name" -- ) \ core-ext  ' IS Alias TO ( addr "name" -- ) \ core-ext
 immediate  immediate
   
   [THEN]
   
   has? compiler [IF]
   : interpret/compile? ( xt -- flag )
       >does-code ['] S" >does-code = ;
   [ELSE]
   : interpret/compile?
       false ;
   [THEN]
   

Removed from v.1.2  
changed lines
  Added in v.1.9


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>