Merge pull request #70 from philburk/ignoreds
[pforth] / fth / require.fth
CommitLineData
5a305613
HE
1\ REQUIRE and REQUIRED
2\
3\ This code is part of pForth.
4\
5\ The pForth software code is dedicated to the public domain,
6\ and any third party may reproduce, distribute and modify
7\ the pForth software code or any derivative works thereof
8\ without any compensation or license. The pForth software
9\ code is provided on an "as is" basis without any warranty
10\ of any kind, including, without limitation, the implied
11\ warranties of merchantability and fitness for a particular
12\ purpose and their equivalents under the laws of any jurisdiction.
13
14private{
15
16\ Has the file with name C-ADDR/U already been included?
17\
18\ This searches the "::::<filename>" marker created by INCLUDED. This
19\ works for now, but may break if pForth ever receives wordlists.
20: INCLUDED? ( c-addr u -- flag )
21 s" ::::" here place ( c-addr u )
22 here $append ( )
1139ec72 23 here find nip 0<> ( found? )
5a305613
HE
24;
25
26\ FIXME: use real PARSE-NAME when available
27: (PARSE-NAME) ( "word" -- c-addr u ) bl parse-word ;
28
29}private
30
31: REQUIRED ( i*x c-addr u -- j*x ) 2dup included? IF 2drop ELSE included THEN ;
32: REQUIRE ( i*x "name" -- i*x ) (parse-name) required ;
33
34privatize