1 /* 2 * Copyright (c) 1980 Regents of the University of California. 3 * All rights reserved. The Berkeley software License Agreement 4 * specifies the terms and conditions for redistribution. 5 * 6 * @(#)format.h 5.1 (Berkeley) 06/07/85 7 */ 8 9 /* 10 * format parser definitions 11 */ 12 13 struct syl 14 { 15 short op,p1,p2,rpcnt; 16 }; 17 18 /* do NOT change this defines or add new ones without 19 * changing the value of the following define for OP_TYPE_TAB. 20 * change format.h both in the compiler and libI77 simultaneously. 21 */ 22 23 24 #define RET 1 25 #define REVERT 2 26 #define GOTO 3 27 #define X 4 28 #define SLASH 5 29 #define STACK 6 30 #define I 7 31 #define ED 8 32 #define NED 9 33 #define IM 10 34 #define APOS 11 35 #define H 12 36 #define TL 13 37 #define TR 14 38 #define T 15 39 #define COLON 16 40 #define S 17 41 #define SP 18 42 #define SS 19 43 #define P 20 44 #define BNZ 21 45 #define B 22 46 #define F 23 47 #define E 24 48 #define EE 25 49 #define D 26 50 #define DE 27 /*** NOT STANDARD FORTRAN ***/ 51 #define G 28 52 #define GE 29 53 #define L 30 54 #define A 31 55 #define AW 32 56 #define R 33 /*** NOT STANDARD FORTRAN ***/ 57 #define DOLAR 34 /*** NOT STANDARD FORTRAN ***/ 58 #define SU 35 /*** NOT STANDARD FORTRAN ***/ 59 60 #define LAST_TERM SU 61 62 /* OP_TYPE_TAB is used in dofio.c . 63 Each value corresponds to a value above, and must be 64 ED for editing terms: I,IM,F,E,EE,D,DE,G,GE,L,A,AW 65 NED for nonediting terms which change the I/O stream: 66 X,SLASH,APOS,H,TL,TR,T 67 and just the value of the term for all others. 68 69 E.g. SP is defined above as 17, so the element 17 of 70 OP_TYPE_TAB (counting from zero) is SP since SP does not 71 read or write data; 72 IM is defined as 10 so the element 10 of OP_TYPE_TAB 73 is ED since IM edits data from the i/o list. 74 */ 75 #define OP_TYPE_TAB {0, RET, REVERT, GOTO, NED, NED, STACK, ED, ED, NED, \ 76 ED, NED, NED, NED, NED, NED, COLON, S, SP, SS, P, \ 77 BNZ, B, ED, ED, ED, ED, ED, ED, ED, ED, ED, ED, \ 78 R, DOLAR, SU } 79 80 #define FMTUNKN -1 81 #define FMTOK 1 82 #define FMTERR 0 83 84 #define FMT_COMP 0x101 /* indicates pre-compiled formats */ 85 86 extern struct syl *syl_ptr; 87 extern short pc; 88