12510Sdlw /* 2*17978Slibs char id_format[] = "@(#)format.h 1.5"; 32510Sdlw * 42510Sdlw * format parser definitions 52510Sdlw */ 62510Sdlw 72510Sdlw struct syl 82510Sdlw { 917968Slibs short op,p1,p2,rpcnt; 102510Sdlw }; 112510Sdlw 12*17978Slibs /* do NOT change this defines or add new ones without 13*17978Slibs * changing the value of the follow define for OP_TYPE_TAB 14*17978Slibs */ 15*17978Slibs 162510Sdlw #define RET 1 172510Sdlw #define REVERT 2 182510Sdlw #define GOTO 3 192510Sdlw #define X 4 202510Sdlw #define SLASH 5 212510Sdlw #define STACK 6 222510Sdlw #define I 7 232510Sdlw #define ED 8 242510Sdlw #define NED 9 252510Sdlw #define IM 10 262510Sdlw #define APOS 11 272510Sdlw #define H 12 282510Sdlw #define TL 13 292510Sdlw #define TR 14 302510Sdlw #define T 15 312510Sdlw #define COLON 16 322510Sdlw #define S 17 332510Sdlw #define SP 18 342510Sdlw #define SS 19 352510Sdlw #define P 20 3617875Sdlw #define BNZ 21 3717875Sdlw #define B 22 382510Sdlw #define F 23 392510Sdlw #define E 24 402510Sdlw #define EE 25 412510Sdlw #define D 26 422510Sdlw #define DE 27 /*** NOT STANDARD FORTRAN ***/ 432510Sdlw #define G 28 442510Sdlw #define GE 29 452510Sdlw #define L 30 462510Sdlw #define A 31 472510Sdlw #define AW 32 482510Sdlw #define R 33 /*** NOT STANDARD FORTRAN ***/ 492510Sdlw #define DOLAR 34 /*** NOT STANDARD FORTRAN ***/ 502510Sdlw #define SU 35 /*** NOT STANDARD FORTRAN ***/ 512510Sdlw 52*17978Slibs #define LAST_TERM SU 53*17978Slibs 54*17978Slibs /* OP_TYPE_TAB is used in dofio.c . 55*17978Slibs Each value corresponds to a value above, and must be 56*17978Slibs ED for editing terms: I,IM,F,E,EE,D,DE,G,GE,L,A,AW 57*17978Slibs NED for nonediting terms which change the I/O stream: 58*17978Slibs X,SLASH,APOS,H,TL,TR,T 59*17978Slibs and just the value of the term for all others. 60*17978Slibs 61*17978Slibs E.g. SP is defined above as 17, so the element 17 of 62*17978Slibs OP_TYPE_TAB (counting from zero) is SP since SP does not 63*17978Slibs read or write data; 64*17978Slibs IM is defined as 10 so the element 10 of OP_TYPE_TAB 65*17978Slibs is ED since IM edits data from the i/o list. 66*17978Slibs */ 67*17978Slibs #define OP_TYPE_TAB {0, RET, REVERT, GOTO, NED, NED, STACK, ED, ED, NED, \ 68*17978Slibs ED, NED, NED, NED, NED, NED, COLON, S, SP, SS, P, \ 69*17978Slibs BNZ, B, ED, ED, ED, ED, ED, ED, ED, ED, ED, ED, \ 70*17978Slibs R, DOLAR, SU } 71*17978Slibs 7216597Sralph #define FMTUNKN -1 732510Sdlw #define FMTOK 1 742510Sdlw #define FMTERR 0 752510Sdlw 7617968Slibs #define FMT_COMP 0x101 /* indicates pre-compiled formats */ 7717968Slibs 7817968Slibs extern struct syl *syl_ptr; 7917968Slibs extern int parenlvl,revloc; 8017968Slibs extern short pc; 81