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