version 1.1, 1995/11/07 18:08:47
|
version 1.6, 1997/07/31 16:17:10
|
Line 19
|
Line 19
|
\ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
\ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
|
|
|
|
\ related stuff can be found in kernal.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 debugging.fs |
|
|
require struct.fs |
require struct.fs |
|
|
struct |
struct |
1 cells: field sourcepos-name# |
cell% field sourcepos-name# |
1 cells: field sourcepos-line# |
cell% field sourcepos-line# |
end-struct sourcepos |
end-struct sourcepos |
|
|
: sourcepos, ( -- ) |
: sourcepos, ( -- ) |
\ record the current source position HERE |
\ record the current source position HERE |
loadfilename# @ , loadline @ , ; |
loadfilename# @ , sourceline# , ; |
|
|
: get-sourcepos ( a-addr -- c-addr u n ) |
: get-sourcepos ( a-addr -- c-addr u n ) |
\ c-addr u is the filename, n is the line number |
\ c-addr u is the filename, n is the line number |
included-files 2@ drop over sourcepos-name# @ 2* cells + 2@ |
dup sourcepos-name# @ loadfilename#>str |
rot sourcepos-line# @ ; |
rot sourcepos-line# @ ; |
|
|
: print-sourcepos ( a-addr -- ) |
: print-sourcepos ( a-addr -- ) |
get-sourcepos |
get-sourcepos |
>r type ." :" r> 0 .r ; |
>r type ." :" |
|
base @ decimal r> 0 .r base ! ; |