12510Sdlw /* 2*18017Slibs char id_format[] = "@(#)format.h 1.6"; 32510Sdlw * 42510Sdlw * format parser definitions 52510Sdlw */ 62510Sdlw 72510Sdlw struct syl 82510Sdlw { 917968Slibs short op,p1,p2,rpcnt; 102510Sdlw }; 112510Sdlw 1217978Slibs /* do NOT change this defines or add new ones without 13*18017Slibs * changing the value of the following define for OP_TYPE_TAB. 14*18017Slibs * change format.h both in the compiler and libI77 simultaneously. 1517978Slibs */ 1617978Slibs 17*18017Slibs 182510Sdlw #define RET 1 192510Sdlw #define REVERT 2 202510Sdlw #define GOTO 3 212510Sdlw #define X 4 222510Sdlw #define SLASH 5 232510Sdlw #define STACK 6 242510Sdlw #define I 7 252510Sdlw #define ED 8 262510Sdlw #define NED 9 272510Sdlw #define IM 10 282510Sdlw #define APOS 11 292510Sdlw #define H 12 302510Sdlw #define TL 13 312510Sdlw #define TR 14 322510Sdlw #define T 15 332510Sdlw #define COLON 16 342510Sdlw #define S 17 352510Sdlw #define SP 18 362510Sdlw #define SS 19 372510Sdlw #define P 20 3817875Sdlw #define BNZ 21 3917875Sdlw #define B 22 402510Sdlw #define F 23 412510Sdlw #define E 24 422510Sdlw #define EE 25 432510Sdlw #define D 26 442510Sdlw #define DE 27 /*** NOT STANDARD FORTRAN ***/ 452510Sdlw #define G 28 462510Sdlw #define GE 29 472510Sdlw #define L 30 482510Sdlw #define A 31 492510Sdlw #define AW 32 502510Sdlw #define R 33 /*** NOT STANDARD FORTRAN ***/ 512510Sdlw #define DOLAR 34 /*** NOT STANDARD FORTRAN ***/ 522510Sdlw #define SU 35 /*** NOT STANDARD FORTRAN ***/ 532510Sdlw 5417978Slibs #define LAST_TERM SU 5517978Slibs 5617978Slibs /* OP_TYPE_TAB is used in dofio.c . 5717978Slibs Each value corresponds to a value above, and must be 5817978Slibs ED for editing terms: I,IM,F,E,EE,D,DE,G,GE,L,A,AW 5917978Slibs NED for nonediting terms which change the I/O stream: 6017978Slibs X,SLASH,APOS,H,TL,TR,T 6117978Slibs and just the value of the term for all others. 6217978Slibs 6317978Slibs E.g. SP is defined above as 17, so the element 17 of 6417978Slibs OP_TYPE_TAB (counting from zero) is SP since SP does not 6517978Slibs read or write data; 6617978Slibs IM is defined as 10 so the element 10 of OP_TYPE_TAB 6717978Slibs is ED since IM edits data from the i/o list. 6817978Slibs */ 6917978Slibs #define OP_TYPE_TAB {0, RET, REVERT, GOTO, NED, NED, STACK, ED, ED, NED, \ 7017978Slibs ED, NED, NED, NED, NED, NED, COLON, S, SP, SS, P, \ 7117978Slibs BNZ, B, ED, ED, ED, ED, ED, ED, ED, ED, ED, ED, \ 7217978Slibs R, DOLAR, SU } 7317978Slibs 7416597Sralph #define FMTUNKN -1 752510Sdlw #define FMTOK 1 762510Sdlw #define FMTERR 0 772510Sdlw 7817968Slibs #define FMT_COMP 0x101 /* indicates pre-compiled formats */ 7917968Slibs 8017968Slibs extern struct syl *syl_ptr; 8117968Slibs extern int parenlvl,revloc; 8217968Slibs extern short pc; 83