home *** CD-ROM | disk | FTP | other *** search
- /* ppd.h - parameter pattern definition header file
-
- Copyright (c) 1984, 1985 by JMI Software Consultants, Inc.
- */
-
- typedef struct
- {
- TINY iarg, acty, nxty, actn, nxtn;
- } PARAMPAT;
-
- #define MSK 0x7f /* argument and action bitmask */
- /* Action codes (values of acty and actn) */
-
- #define RST 0x80 /* Reset tokenizer to beginning of last argument */
- #define NOOP 0 /* do nothing */
- #define STOP 1 /* end of pattern */
- #define OINT 2 /* output integer expression */
- #define ODBL 3 /* output floating point expression */
- #define OSTR 4 /* output string expression */
- #define DINT 5 /* output default integer -1 */
- #define DDBL 6 /* output default double -1.0 */
- #define DSTR 7 /* output default string (char *)0 */
- #define OLP 8 /* output left parenthesis */
- #define ORP 9 /* output right parenthesis */
- #define OCOM 10 /* output comma */
- #define OUSC 11 /* output underscore */
- #define OS 12 /* output letter S */
- #define OD 13 /* output letter D */
- #define OPST 14 /* output address of string lvalue */
- #define OANY 15 /* output any expression */
- #define OPTR 16 /* output pointer expression */
- #define OATS 17 /* output address of temporary string */
- #define OSTI 18 /* output *string expression */
- #define OFLD 19 /* output field variable */
- #define D0INT 20 /* output integer 0 */
- #define D1INT 21 /* output integer 1 */
- #define OCH 22 /* output '\0' chararacter */
- #define OCHL 23 /* output 'L' character */
- #define OCHR 24 /* output 'R' character */
- #define OCHU 25 /* output 'U' character */
- #define OB 26 /* output letter B */
- #define OCHA 27 /* output 'A' character */
- #define OCHI 28 /* output 'I' character */
- #define OCHO 29 /* output 'O' character */
- #define OLBL 30 /* output current line number as an integer */
- #define D1DBL 31 /* output double 1 */
- #define OPLV 32 /* output address of lvalue */
- #define OUNS 33 /* output unsigned integer */
- #define ERR 34 /* error condition */
-
- /* Input argument codes (values of iarg) */
-
- #define OPT 0x80 /* argument is optional (OR'ed with other codes below) */
- #define NARG 0 /* don't process argument, do acty */
- #define XINT 1 /* integer expression */
- #define XDBL 2 /* double precision floating point expression */
- #define XSTR 3 /* string expression */
- #define XPTR 4 /* pointer expression */
- #define XANY 5 /* any type of expression */
- #define PSTR 6 /* convert string lvalue to pointer */
- #define TCOM 7 /* comma */
- #define TLP 8 /* left parenthesis */
- #define TRP 9 /* right parenthesis */
- #define TAS 10 /* AS keyword */
- #define TTO 11 /* TO keyword */
- #define TRD 12 /* READ keyword */
- #define TWT 13 /* WAIT keyword */
- #define TR 14 /* R unreserved word */
- #define TNUM 15 /* number sign (#) */
- #define TEQ 16 /* equal sign */
- #define CINT 17 /* constant integer (0-9) */
- #define XFLD 18 /* field variable */
- #define NONE 19 /* none of the above */
- #define TFOR 23 /* keyword FOR */
- #define TLEN 24 /* keyword LEN */
- #define TWID 25 /* keyword WIDTH */
- #define TOUT 29 /* keyword OUTPUT */
- #define TINP 30 /* keyword INPUT */
- #define TAPP 31 /* keyword APPEND */
- #define LFLD 32 /* FIELD variable lvalue */
- #define LVAL 33 /* variable lvalue */
- #define TRAND 34 /* keyword RANDOM */
- #define XFLT 35 /* single precision floating point expression */