Create readable text `.bas' for each tokenized BASIC `,ffb' file.
[ssr] / StraySrc / Libraries / Sapphire / bsh / options.bas
CommitLineData
c1b567d8
MW
1REM Sapphire options macro library -- © 1995 Straylight
2
3DEF FNoptions_test=0
4
5DEF FNoption(o%,t%,n$)
6IF FNalign
7opt__l=opt__l
8IF opt__l THEN !(opt__l+O%-P%+4)=P%-opt__l
9[ opt 4
10.opt__l
11 dcd 0
12 dcd 0
13 dcd o%
14 dcd t%
15 equs n$+CHR$(0)
16 FNalign
17]
18=0
19
20DEF FNopt__f(f%)
21!(opt__l+O%-P%)=!(opt__l+O%-P%) OR f%
22=0
23
24DEF FNoptions_end
25[ opt 4
26 FNopt__f(optFlag_last)
27 FNalign
28]
29!(opt__l+O%-P%+4)=P%-opt__l
30=0
31
32DEF FNoptions_string(o%,n$,s%)
33[ opt 4
34 FNoption(o%,optType_string,n$)
35 dcd s%
36]
37=0
38
39DEF FNoptions_integer(o%,n$,b%)
40IF FNoption(o%,optType_integer,n$)
41IF b% THEN [opt 4:dcd b%:]
42=0
43
44DEF FNoptions_literal
45IF FNoption(0,optType_literal,"")
46IF FNopt__f(optFlag_ignore)
47=0
48
49DEF FNoptions_enum(o%,n$)=FNoption(o%,optType_enum,n$)
50
51DEF FNoptions_bool(o%,n$,f%)
52[ opt 4
53 FNoption(o%,optType_bool,n$)
54 dcd f%
55]
56=0
57
58DEF FNoptions_version(o%,n$)=FNoption(o%,optType_version,n$)