12510Sdlw /* 2*23060Skre * Copyright (c) 1980 Regents of the University of California. 3*23060Skre * All rights reserved. The Berkeley software License Agreement 4*23060Skre * specifies the terms and conditions for redistribution. 52510Sdlw * 6*23060Skre * @(#)format.h 5.1 (Berkeley) 06/07/85 7*23060Skre */ 8*23060Skre 9*23060Skre /* 102510Sdlw * format parser definitions 112510Sdlw */ 122510Sdlw 132510Sdlw struct syl 142510Sdlw { 1517968Slibs short op,p1,p2,rpcnt; 162510Sdlw }; 172510Sdlw 1817978Slibs /* do NOT change this defines or add new ones without 1918017Slibs * changing the value of the following define for OP_TYPE_TAB. 2018017Slibs * change format.h both in the compiler and libI77 simultaneously. 2117978Slibs */ 2217978Slibs 2318017Slibs 242510Sdlw #define RET 1 252510Sdlw #define REVERT 2 262510Sdlw #define GOTO 3 272510Sdlw #define X 4 282510Sdlw #define SLASH 5 292510Sdlw #define STACK 6 302510Sdlw #define I 7 312510Sdlw #define ED 8 322510Sdlw #define NED 9 332510Sdlw #define IM 10 342510Sdlw #define APOS 11 352510Sdlw #define H 12 362510Sdlw #define TL 13 372510Sdlw #define TR 14 382510Sdlw #define T 15 392510Sdlw #define COLON 16 402510Sdlw #define S 17 412510Sdlw #define SP 18 422510Sdlw #define SS 19 432510Sdlw #define P 20 4417875Sdlw #define BNZ 21 4517875Sdlw #define B 22 462510Sdlw #define F 23 472510Sdlw #define E 24 482510Sdlw #define EE 25 492510Sdlw #define D 26 502510Sdlw #define DE 27 /*** NOT STANDARD FORTRAN ***/ 512510Sdlw #define G 28 522510Sdlw #define GE 29 532510Sdlw #define L 30 542510Sdlw #define A 31 552510Sdlw #define AW 32 562510Sdlw #define R 33 /*** NOT STANDARD FORTRAN ***/ 572510Sdlw #define DOLAR 34 /*** NOT STANDARD FORTRAN ***/ 582510Sdlw #define SU 35 /*** NOT STANDARD FORTRAN ***/ 592510Sdlw 6017978Slibs #define LAST_TERM SU 6117978Slibs 6217978Slibs /* OP_TYPE_TAB is used in dofio.c . 6317978Slibs Each value corresponds to a value above, and must be 6417978Slibs ED for editing terms: I,IM,F,E,EE,D,DE,G,GE,L,A,AW 6517978Slibs NED for nonediting terms which change the I/O stream: 6617978Slibs X,SLASH,APOS,H,TL,TR,T 6717978Slibs and just the value of the term for all others. 6817978Slibs 6917978Slibs E.g. SP is defined above as 17, so the element 17 of 7017978Slibs OP_TYPE_TAB (counting from zero) is SP since SP does not 7117978Slibs read or write data; 7217978Slibs IM is defined as 10 so the element 10 of OP_TYPE_TAB 7317978Slibs is ED since IM edits data from the i/o list. 7417978Slibs */ 7517978Slibs #define OP_TYPE_TAB {0, RET, REVERT, GOTO, NED, NED, STACK, ED, ED, NED, \ 7617978Slibs ED, NED, NED, NED, NED, NED, COLON, S, SP, SS, P, \ 7717978Slibs BNZ, B, ED, ED, ED, ED, ED, ED, ED, ED, ED, ED, \ 7817978Slibs R, DOLAR, SU } 7917978Slibs 8016597Sralph #define FMTUNKN -1 812510Sdlw #define FMTOK 1 822510Sdlw #define FMTERR 0 832510Sdlw 8417968Slibs #define FMT_COMP 0x101 /* indicates pre-compiled formats */ 8517968Slibs 8617968Slibs extern struct syl *syl_ptr; 8717968Slibs extern short pc; 88