Diff for /gforth/cross.fs between versions 1.37 and 1.40

version 1.37, 1996/07/16 20:57:07 version 1.40, 1996/09/24 19:15:02
Line 173  bigendian Line 173  bigendian
 \ MakeKernal                                           12dec92py  \ MakeKernal                                           12dec92py
   
 >MINIMAL  >MINIMAL
 : makekernal ( targetsize -- targetsize )  : makekernel ( targetsize -- targetsize )
   bit$  over 1- cell>bit rshift 1+ initmem    bit$  over 1- cell>bit rshift 1+ initmem
   image over initmem tdp off ;    image over initmem tdp off ;
   
Line 194  CREATE Bittable 80 c, 40 c, 20 c, 10 c, Line 194  CREATE Bittable 80 c, 40 c, 20 c, 10 c,
 : align+  ( taddr -- rest )  : align+  ( taddr -- rest )
     cell tuck 1- and - [ cell 1- ] Literal and ;      cell tuck 1- and - [ cell 1- ] Literal and ;
 : cfalign+  ( taddr -- rest )  : cfalign+  ( taddr -- rest )
     \ see kernal.fs:cfaligned      \ see kernel.fs:cfaligned
     float tuck 1- and - [ float 1- ] Literal and ;      float tuck 1- and - [ float 1- ] Literal and ;
   
 >TARGET  >TARGET
Line 202  CREATE Bittable 80 c, 40 c, 20 c, 10 c, Line 202  CREATE Bittable 80 c, 40 c, 20 c, 10 c,
 \ assumes cell alignment granularity (as GNU C)  \ assumes cell alignment granularity (as GNU C)
   
 : cfaligned ( taddr1 -- taddr2 )  : cfaligned ( taddr1 -- taddr2 )
     \ see kernal.fs      \ see kernel.fs
     dup cfalign+ + ;      dup cfalign+ + ;
   
 >CROSS  >CROSS
Line 278  Variable last-ghost Line 278  Variable last-ghost
   
 : gfind   ( string -- ghost true/1 / string false )  : gfind   ( string -- ghost true/1 / string false )
 \ searches for string in word-list ghosts  \ searches for string in word-list ghosts
 \ !! wouldn't it be simpler to just use search-wordlist ? ae  
   dup count [ ' ghosts >body ] ALiteral search-wordlist    dup count [ ' ghosts >body ] ALiteral search-wordlist
   dup IF  >r >body nip r>  THEN ;    dup IF >r >body nip r>  THEN ;
   
 VARIABLE Already  VARIABLE Already
   
Line 382  VARIABLE ^imm Line 381  VARIABLE ^imm
 s" crossdoc.fd" r/w create-file throw value doc-file-id  s" crossdoc.fd" r/w create-file throw value doc-file-id
 \ contains the file-id of the documentation file  \ contains the file-id of the documentation file
   
 : \G ( -- )  : T-\G ( -- )
     source >in @ /string doc-file-id write-line throw      source >in @ /string doc-file-id write-line throw
     source >in ! drop ; immediate      postpone \ ;
   
 Variable to-doc  Variable to-doc  to-doc on
   
 : cross-doc-entry  ( -- )  : cross-doc-entry  ( -- )
     to-doc @ tlast @ 0<> and    \ not an anonymous (i.e. noname) header      to-doc @ tlast @ 0<> and    \ not an anonymous (i.e. noname) header
Line 399  Variable to-doc Line 398  Variable to-doc
         [char] ) parse doc-file-id write-file throw          [char] ) parse doc-file-id write-file throw
         s"  )" doc-file-id write-file throw          s"  )" doc-file-id write-file throw
         [char] \ parse 2drop                                              [char] \ parse 2drop                                    
         POSTPONE \g          T-\G
         >in !          >in !
     THEN  to-doc on ;      THEN ;
   
 \ Target TAGS creation  \ Target TAGS creation
   
 s" kernal.TAGS" r/w create-file throw value tag-file-id  s" kernel.TAGS" r/w create-file throw value tag-file-id
 \ contains the file-id of the tags file  \ contains the file-id of the tags file
   
 Create tag-beg 2 c,  7F c, bl c,  Create tag-beg 2 c,  7F c, bl c,
Line 464  VARIABLE ;Resolve 1 cells allot Line 463  VARIABLE ;Resolve 1 cells allot
   
 >TARGET  >TARGET
 : Alias    ( cfa -- ) \ name  : Alias    ( cfa -- ) \ name
   dup 0< IF  to-doc off  THEN  
   (THeader over resolve T A, H 80 flag! ;    (THeader over resolve T A, H 80 flag! ;
 >CROSS  >CROSS
   
Line 528  Cond: chars ;Cond Line 526  Cond: chars ;Cond
 : alit, ( n -- )  compile lit T A,  H ;  : alit, ( n -- )  compile lit T A,  H ;
   
 >TARGET  >TARGET
   Cond: \G  T-\G ;Cond
   
 Cond:  Literal ( n -- )   restrict? lit, ;Cond  Cond:  Literal ( n -- )   restrict? lit, ;Cond
 Cond: ALiteral ( n -- )   restrict? alit, ;Cond  Cond: ALiteral ( n -- )   restrict? alit, ;Cond
   
Line 708  by Defer :dodefer resolve Line 708  by Defer :dodefer resolve
   
 Build:  ( inter comp -- ) swap T immediate A, A, H ;  Build:  ( inter comp -- ) swap T immediate A, A, H ;
 DO: ( ghost -- ) ABORT" CROSS: Don't execute" ;DO  DO: ( ghost -- ) ABORT" CROSS: Don't execute" ;DO
 Builder special:  Builder interpret/compile:
   
 \ Sturctures                                           23feb95py  \ Sturctures                                           23feb95py
   
Line 921  cell constant cell Line 921  cell constant cell
 \ include bug5.fs  \ include bug5.fs
 \ only forth also minimal definitions  \ only forth also minimal definitions
   
 : \  postpone \ ;  : \  postpone \ ;  immediate
 : \G postpone \G ;  : (  postpone ( ;  immediate
 : (  postpone ( ;  
 : include bl word count included ;  : include bl word count included ;
 : .( [char] ) parse type ;  : .( [char] ) parse type ;
 : cr cr ;  : cr cr ;
Line 937  only forth also minimal definitions Line 936  only forth also minimal definitions
 : hex           hex ;  : hex           hex ;
   
 : tudp          T tudp H ;  : tudp          T tudp H ;
 : tup           T tup H ;  minimal  : tup           T tup H ;
   
   : doc-off       false T to-doc H ! ;
   : doc-on        true  T to-doc H ! ;
   
   minimal
   
 \ for debugging...  \ for debugging...
 : order         order ;  : order         order ;

Removed from v.1.37  
changed lines
  Added in v.1.40


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