Command lines and arguments
From the Forth perspective we know what we want, to wit the word ARG[]. If lina (ciforth for linux) has been started with
lina -b we gaan naar Rome
we want to be able to say
3 ARG[] TYPE
and then the third argument: "gaan" is to be printed. You know the drill by now:
WANT ARG[]
It may have been quite an effort, but the word ARG[] is present in the lab, one for Linux and one for MS-Windows/MS-DOS.
But ... how does Forth which to load? In fact it doesn't know, it just loads everything. In the block for Linux the word ?LI has been added and in the one for MS-DOS the word ?MS :
block 172: ( ARG[] get_argument_vector ) CF: ?LI \ AvdH : ARG[] .... block 173: ( ARG[] get_argument_vector ) CF: ?MS \ AvdH : ARG[] ....
CF: takes care that the words ?LI and ?MS are known. If it is not a linux system, loading stops after ?LI . Because ARG[] is still not known after loading block 172, the lab-mechanism keeps on searching and finds it in block 173.
P.S. -b just loads screen 2, but is is empty.