kolibrios/programs/develop/SPForth/src/tc_spfopt.f

94 lines
1.6 KiB
FortranFixed
Raw Normal View History

REQUIRE INCLUDED_L ~mak/listing3.f
0 VALUE TOUSER-VALUE-CODE
0 VALUE ---CODE
0 VALUE DO-OFF
0 VALUE ?DO-OFF
0 VALUE OFF-LOOP
0 VALUE OFF-+LOOP
0 VALUE 'DUP_V
0 VALUE 'DROP_V
' DUP TO 'DUP_V
' DROP TO 'DROP_V
: 'DUP 'DUP_V ;
: 'DROP 'DROP_V ;
: M\ POSTPONE \ ; IMMEDIATE
: OS\ ( POSTPONE \) ; IMMEDIATE
: [>T] ; IMMEDIATE
: >T ; IMMEDIATE
TRUE VALUE J_OPT?
: TT ;
S" src/macroopt.f" INCLUDED
: TSET-OPT SET-OPT ;
: TDIS-OPT DIS-OPT ;
: TOMM_SIZE TO MM_SIZE ;
REQUIRE GTYPE ~mak/djgpp/gdis.f
TRUE TO ?C-JMP
\ 0 TO ?C-JMP
: TC-COMPILE, \ 94 CORE EXT
\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ( xt -- )
\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> xt, <EFBFBD>
\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
CON>LIT
IF INLINE?
IF INLINE,
ELSE _COMPILE,
THEN
THEN
;
: _DABS ( d -- ud ) \ 94 DOUBLE
\ ud <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> d.
DUP 0< IF DNEGATE THEN
;
0xE9 ' COMPILE, C!
' TC-COMPILE, ' COMPILE, - 5 - ' COMPILE, 1+ !
: DABS ( d -- ud ) \ 94 DOUBLE
\ ud <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> d.
DUP 0< IF DNEGATE THEN
;
0 VALUE TSAVE_LIMIT
: TSAVE ( ADDR LEN -- )
H-STDOUT >R R/W CREATE-FILE THROW TO H-STDOUT
UNIX-LINES
CR ." MUSEROFFS EQU " USER-HERE RESERVE - 2 MAX .
CR
HERE >R
CONTEXT @ @
BEGIN
CR ." AHEADER "
DUP 1- C@ . ." ,"
DUP COUNT ATYPE ." ,"
DUP COUNT GTYPE
CR
R> OVER NAME> GDIS
DUP NAME>C >R
CDR
DUP TSAVE_LIMIT U<
UNTIL DROP RDROP CR
H-STDOUT CLOSE-FILE THROW R> TO H-STDOUT
;
: RN> CHAR SWAP WordByAddr DROP C! ;
' CR CONSTANT '_CR