summaryrefslogtreecommitdiffstats
path: root/qemu/roms/openbios/forth/lib/lists.fs
blob: 91f7867b9f07abb75956a5ec7f6f9eed210c063a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
\ tag: misc useful functions
\ 
\ Misc useful functions
\ 
\ Copyright (C) 2003 Samuel Rydh
\ 
\ See the file "COPYING" for further information about
\ the copyright and warranty status of this work.
\ 

\ -------------------------------------------------------------------------
\ statically allocated lists
\ -------------------------------------------------------------------------
\ list-head should be a variable

: list-add ( listhead -- )
  here 0 , swap                  \ next, [data...]
  ( here listhead )
  begin dup @ while @ repeat !
;

: list-get ( listptr -- nextlistptr dictptr true | false )
  @ dup if
    dup na1+ true
  then
;