Diff for /gforth/see.fs between versions 1.3 and 1.7

version 1.3, 1994/07/13 19:21:08 version 1.7, 1995/10/07 17:38:19
Line 191  VARIABLE C-Pass Line 191  VARIABLE C-Pass
         Display? IF dup @ dup abs 0 <# #S rot sign #> 0 .string bl cemit THEN          Display? IF dup @ dup abs 0 <# #S rot sign #> 0 .string bl cemit THEN
         cell+ ;          cell+ ;
   
   : c-flit
           Display? IF  dup f@ scratch represent 0=
                        IF    2drop  scratch 3 min 0 .string
                        ELSE   IF  '- cemit  THEN  1-
                               scratch over c@ cemit '. cemit 1 /string 0 .string
                               'E cemit
                               dup abs 0 <# #S rot sign #> 0 .string bl cemit
                    THEN THEN
           float+ ;
   
 : c-s"  : c-s"
         count 2dup + aligned -rot          count 2dup + aligned -rot
         Display?          Display?
Line 357  VARIABLE C-Pass Line 367  VARIABLE C-Pass
         THEN          THEN
         Debug? IF drop THEN ;          Debug? IF drop THEN ;
   
 : c-;code               \ end of create part  : c-does>               \ end of create part
         Display? IF S" DOES> " Com# .string THEN          Display? IF S" DOES> " Com# .string THEN
         Cell+ cell+ ;          Cell+ cell+ ;
   
Line 373  VARIABLE C-Pass Line 383  VARIABLE C-Pass
   
 CREATE C-Table  CREATE C-Table
         ' lit A,         ' c-lit A,          ' lit A,         ' c-lit A,
           ' flit A,        ' c-flit A,
         ' (s") A,        ' c-s" A,          ' (s") A,        ' c-s" A,
         ' (.") A,        ' c-." A,          ' (.") A,        ' c-." A,
         ' "lit A,        ' c-c" A,          ' "lit A,        ' c-c" A,
Line 387  CREATE C-Table Line 398  CREATE C-Table
         ' (+loop) A,     ' c-+loop A,          ' (+loop) A,     ' c-+loop A,
         ' (next) A,      ' c-next A,          ' (next) A,      ' c-next A,
         ' ;s A,          ' c-exit A,          ' ;s A,          ' c-exit A,
         ' (;code) A,     ' c-;code A,          ' (does>) A,     ' c-does> A,
         ' (abort") A,    ' c-abort" A,          ' (abort") A,    ' c-abort" A,
         ' (compile) A,   ' c-(compile) A,          ' (compile) A,   ' c-(compile) A,
         0 ,          0 ,
Line 449  CREATE C-Table Line 460  CREATE C-Table
 DEFER dosee  DEFER dosee
   
 : dopri .name ." is primitive" cr ;  : dopri .name ." is primitive" cr ;
 : dovar .name ." is variable" cr ;  : dovar ." Variable " .name cr ;
 : docon  dup .name ." is constant, value: "  : douse ." User " .name cr ;
          cell+ (name>) >body @ . cr ;  : docon  dup cell+ (name>) >body @ . ." Constant " .name cr ;
 : doval .name ." is value" cr ;  : doval  dup cell+ (name>) >body @ . ." Value " .name cr ;
 : dodef .name ." is defered word, is: "  : dodef ." Defer " dup >r .name cr
          here @ look 0= ABORT" SEE: No valid xt in defered word"           here @ look 0= ABORT" SEE: No valid xt in defered word"
         .name cr here @ look drop dosee ;           here @ look drop dosee cr
 : dodoe .name ." is created word" cr          ." ' " .name r> ." IS " .name cr ;
         S" DOES> " Com# .string XPos @ Level !  : dodoe ." Create " dup .name cr
         here @ dup C-Pass @ DebugMode = IF ScanMode c-pass ! EXIT THEN          S" DOES> " Com# .string XPos @ Level ! name>
           >does-code dup C-Pass @ DebugMode = IF ScanMode c-pass ! EXIT THEN
         ScanMode c-pass ! dup makepass          ScanMode c-pass ! dup makepass
         DisplayMode c-pass ! makepass ;          DisplayMode c-pass ! makepass ;
 : doali .name ." is alias of "  : doali here @ .name ." Alias " .name cr
         here @ .name cr  
         here @ dosee ;          here @ dosee ;
 : docol S" : " Com# .string  : docol S" : " Com# .string
         dup cell+ count $1F and 2 pick wordinfo .string bl cemit bl cemit          dup cell+ count $1F and 2 pick wordinfo .string bl cemit bl cemit
Line 481  create wordtypes Line 492  create wordtypes
         Doe# ,   ' dodoe A,          Doe# ,   ' dodoe A,
         Ali# ,   ' doali A,          Ali# ,   ' doali A,
         Col# ,   ' docol A,          Col# ,   ' docol A,
           Use# ,   ' douse A,
         0 ,          0 ,
   
 : (dosee) ( lfa -- )  : (dosee) ( lfa -- )
         dup dup cell+ c@ 32 and IF over .name ." is an immediate word" cr THEN          dup dup cell+ c@ >r
         wordinfo          wordinfo
         wordtypes          wordtypes
         BEGIN dup @ dup          BEGIN dup @ dup
         WHILE 2 pick = IF cell+ @ nip EXECUTE EXIT THEN          WHILE 2 pick = IF cell+ @ nip EXECUTE
                             r> dup 32 and IF ."  immediate" THEN
                                    64 and IF ."  restrict" THEN EXIT THEN
               2 cells +                2 cells +
         REPEAT          REPEAT
         2drop          2drop rdrop
         .name ." Don't know how to handle" cr ;          .name ." Don't know how to handle" cr ;
   
 ' (dosee) IS dosee  ' (dosee) IS dosee
Line 501  create wordtypes Line 515  create wordtypes
         cr c-init          cr c-init
         dosee ;          dosee ;
   
 : see   name find 0= IF ." Word unknown" cr drop exit THEN  : see   name sfind 0= IF ." Word unknown" cr exit THEN
         xtc ;          xtc ;
   
 : lfc   cr c-init cell+ dosee ;  : lfc   cr c-init cell+ dosee ;

Removed from v.1.3  
changed lines
  Added in v.1.7


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