version 1.2, 1997/08/31 19:32:29
|
version 1.3, 1998/11/08 23:08:06
|
Line 42 Variable argc ( -- addr ) \ gforth
|
Line 42 Variable argc ( -- addr ) \ gforth
|
2swap |
2swap |
2dup s" -e" compare 0= >r |
2dup s" -e" compare 0= >r |
2dup s" --evaluate" compare 0= r> or |
2dup s" --evaluate" compare 0= r> or |
IF 2drop dup >r ['] evaluate catch |
IF 2drop dup >r evaluate |
?dup IF dup >r DoError r> negate (bye) THEN |
|
r> >tib +! 2 EXIT THEN |
r> >tib +! 2 EXIT THEN |
|
2dup s" -h" compare 0= >r |
|
2dup s" --help" compare 0= r> or |
|
IF ." Image Options:" cr |
|
." FILE load FILE (with `require')" cr |
|
." -e STRING, --evaluate STRING interpret STRING (with `EVALUATE')" cr |
|
." Report bugs to <bug-gforth@gnu.ai.mit.edu>" cr |
|
bye |
|
THEN |
." Unknown option: " type cr 2drop 1 ; |
." Unknown option: " type cr 2drop 1 ; |
|
|
: (process-args) ( -- ) |
: (process-args) ( -- ) |
true to script? |
true to script? |
>tib @ >r |
>tib @ >r #tib @ >r >in @ >r |
argc @ 1 |
argc @ 1 |
?DO |
?DO |
I arg over c@ [char] - <> |
I arg over c@ [char] - <> |
IF |
IF |
|
2dup dup #tib ! >in ! >tib ! |
required 1 |
required 1 |
ELSE |
ELSE |
I 1+ argc @ = IF s" " ELSE I 1+ arg THEN |
I 1+ argc @ = IF s" " ELSE I 1+ arg THEN |
do-option |
do-option |
THEN |
THEN |
+LOOP |
+LOOP |
r> >tib ! |
r> >in ! r> #tib ! r> >tib ! |
false to script? |
false to script? |
; |
; |
|
|