[gforth] / gforth / source.fs  

gforth: gforth/source.fs

Diff for /gforth/source.fs between version 1.8 and 1.9

version 1.8, Sat Sep 23 15:46:59 2000 UTC version 1.9, Wed Dec 4 16:56:31 2002 UTC
Line 18 
Line 18 
 \ along with this program; if not, write to the Free Software  \ along with this program; if not, write to the Free Software
 \ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.  \ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
   
   
 \ related stuff can be found in kernel.fs  \ related stuff can be found in kernel.fs
   
 \ this stuff is used by (at least) assert.fs and debugging.fs  \ this stuff is used by (at least) assert.fs and debugs.fs
   
 require struct.fs  
   
 struct  
     cell% field sourcepos-name#  
     cell% field sourcepos-line#  
 end-struct sourcepos  
   
 : sourcepos, ( -- )  
     \ record the current source position HERE  
     loadfilename# @ , sourceline# , ;  
   
 : get-sourcepos ( a-addr -- c-addr u n )  
     \ c-addr u is the filename, n is the line number  
     dup sourcepos-name# @ loadfilename#>str  
     rot sourcepos-line# @ ;  
   
 : print-sourcepos ( a-addr -- )  : compile-sourcepos ( compile-time: -- ; run-time: -- nfile nline )
     get-sourcepos      \ compile the current source position as literals: nfile is the
     >r type ." :"      \ source file index, nline the line number within the file.
     base @ decimal r> 0 .r base ! ;      loadfilename# @ postpone literal
       sourceline# postpone literal ;
   
   : .sourcepos ( nfile nline -- )
       \ print source position
       swap loadfilename#>str type ." :"
       base @ decimal swap 0 .r base ! ;


Generate output suitable for use with a patch program
Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

CVS Admin

Powered by ViewCVS 1.0-dev
(Powered by ViewCVS)

ViewCVS and CVS Help