| \ word list structure: |
\ word list structure: |
| |
|
| struct |
struct |
| 1 cells: field find-method \ xt: ( c_addr u wid -- nt ) |
cell% field find-method \ xt: ( c_addr u wid -- nt ) |
| 1 cells: field reveal-method \ xt: ( nt wid -- ) \ used by dofield:, must be field |
cell% field reveal-method \ xt: ( nt wid -- ) \ used by dofield:, must be field |
| 1 cells: field rehash-method \ xt: ( wid -- ) \ re-initializes a "search-data" (hashtables) |
cell% field rehash-method \ xt: ( wid -- ) \ re-initializes a "search-data" (hashtables) |
| 1 cells: field hash-method \ xt: ( wid -- ) \ initializes "" |
cell% field hash-method \ xt: ( wid -- ) \ initializes "" |
| \ \ !! what else |
\ \ !! what else |
| end-struct wordlist-map-struct |
end-struct wordlist-map-struct |
| |
|
| struct |
struct |
| 1 cells: field wordlist-id \ not the same as wid; representation depends on implementation |
cell% field wordlist-id \ not the same as wid; representation depends on implementation |
| 1 cells: field wordlist-map \ pointer to a wordlist-map-struct |
cell% field wordlist-map \ pointer to a wordlist-map-struct |
| 1 cells: field wordlist-link \ link field to other wordlists |
cell% field wordlist-link \ link field to other wordlists |
| 1 cells: field wordlist-extend \ points to wordlist extensions (eg hashtables) |
cell% field wordlist-extend \ points to wordlist extensions (eg hashtables) |
| end-struct wordlist-struct |
end-struct wordlist-struct |
| |
|
| : f83find ( addr len wordlist -- nt / false ) |
: f83find ( addr len wordlist -- nt / false ) |
| |
|
| \ higher level parts of find |
\ higher level parts of find |
| |
|
| ( struct ) |
struct |
| 0 >body cell |
>body |
| 1 cells: field interpret/compile-int |
cell% field interpret/compile-int |
| 1 cells: field interpret/compile-comp |
cell% field interpret/compile-comp |
| end-struct interpret/compile-struct |
end-struct interpret/compile-struct |
| |
|
| : interpret/compile? ( xt -- flag ) |
: interpret/compile? ( xt -- flag ) |