version 1.24, 2003/01/19 23:35:30
|
version 1.31, 2011/12/31 15:29:25
|
Line 1
|
Line 1
|
\ LOOK.FS xt -> lfa 22may93jaw |
\ LOOK.FS xt -> lfa 22may93jaw |
|
|
\ Copyright (C) 1995-2003 Free Software Foundation, Inc. |
\ Copyright (C) 1995,1996,1997,2000,2003,2007,2011 Free Software Foundation, Inc. |
|
|
\ This file is part of Gforth. |
\ This file is part of Gforth. |
|
|
\ Gforth is free software; you can redistribute it and/or |
\ Gforth is free software; you can redistribute it and/or |
\ modify it under the terms of the GNU General Public License |
\ modify it under the terms of the GNU General Public License |
\ as published by the Free Software Foundation; either version 2 |
\ as published by the Free Software Foundation, either version 3 |
\ of the License, or (at your option) any later version. |
\ of the License, or (at your option) any later version. |
|
|
\ This program is distributed in the hope that it will be useful, |
\ This program is distributed in the hope that it will be useful, |
Line 15
|
Line 15
|
\ GNU General Public License for more details. |
\ GNU General Public License for more details. |
|
|
\ You should have received a copy of the GNU General Public License |
\ You should have received a copy of the GNU General Public License |
\ along with this program; if not, write to the Free Software |
\ along with this program. If not, see http://www.gnu.org/licenses/. |
\ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. |
|
|
|
\ Look checks first if the word is a primitive. If yes then the |
\ Look checks first if the word is a primitive. If yes then the |
\ vocabulary in the primitive area is beeing searched, meaning |
\ vocabulary in the primitive area is beeing searched, meaning |
Line 113 has? rom
|
Line 112 has? rom
|
: threaded>name ( ca -- nt|0 ) |
: threaded>name ( ca -- nt|0 ) |
threaded>xt prim>name ; |
threaded>xt prim>name ; |
|
|
: >head ( cfa -- nt|0 ) \ gforth to-head |
: >name ( xt -- nt|0 ) \ gforth to-name |
\G tries to find the name token nt of the word represented by cfa; |
\G tries to find the name token @var{nt} of the word represented |
\G returns 0 if it fails. This word is not absolutely reliable, |
\G by @var{xt}; returns 0 if it fails. This word is not |
\G it may give false positives and produce wrong nts. |
\G absolutely reliable, it may give false positives and produce |
|
\G wrong nts. |
look and ; |
look and ; |
|
|
' >head ALIAS >name \ gforth to-name |
' >name ALIAS >head \ gforth to-head |
\G old name of @code{>head} |
\G another name of @code{>name} |
|
|
|
\ print recognizer stack |
|
|
|
[IFDEF] forth-recognizer |
|
: .recs ( -- ) |
|
forth-recognizer get-recognizers 0 ?DO |
|
>name .name |
|
LOOP ; |
|
[THEN] |
|
|