text: #
  
  /*
  **  CONSTANTS.H -- manifest constants, operand and operator codes
  **
  **	Defines:
  **		op_codes for operands
  **		Opflag's domain set
  **		Type_spec's domain set
  **
  **
  **	Required By:
  **		most lexical routines and the parser actions
  **
  **	History:
  **		5/31/78 -- (marc) modified from previous
  **			equels' "scanner.h" file to include some 
  **			information previously contained in 
  **			globals.h, and remove some unused imformation.
  **		8/24/78 -- (marc) opSTRUCT added to include structure vars
  **
  */
  
  /*
  ** 	Manifest constants used throughout Equel
  */
  
  
  # define	CONTINUE	1	/* "loop" flag for yylex */
  # ifdef	MAXNAME
  # undef	MAXNAME
  # endif
  # define	MAXNAME		13	/* maximum length for equel 
  					 * identifiers (or keywords) 
  					 */
  # define	MAXSTRING	255	/* maximum length for equel strings */
  # define	FILLCNT		110	/* length to fill lines when in Fillmode */
  
  
  /* debugging info conditional compilation flag */
  # define	xDEBUG			/* on for "-c" and "-v" flags */
  
  
  /* 
  **	Character types [cmap.c] 
  */
  
  # define	EOF_TOK		0	/* end of parse input too */
  # define	ALPHA		1	/* alphabetic or '_' */
  # define	NUMBR		2	/* numeric */
  # define	OPATR		3	/* other non control characters */
  # define	PUNCT		4	/* white space */
  # define	CNTRL		5	/* control-characters */
  
  /*
  **	Modes for Lastc in w_op() and w_key() [prtout.c] 
  */
  
  # define	OPCHAR		0	/* last character 
  					 * printed was an operator 
  					 */
  # define	KEYCHAR		1	/* last was alphanumeric */
  
  
  /*
   * Modes used in parser actions to distinguish contexts in which
   * the same syntax applies. Opflag is set to these modes.
   *
   * (There are some modes that are never referenced, but are useful
   * for extension).
   */
  
  	/* quel statements */
  
  # define	mdAPPEND	1	
  # define	mdCOPY		2
  # define	mdCREATE	3
  # define	mdDEFINE	4
  # define	mdDELETE	5
  # define	mdDESTROY	6
  # define	mdHELP		7
  # define	mdINDEX		8
  # define	mdINTEGRITY	9
  # define	mdMODIFY	10
  # define	mdPRINT		11
  # define	mdRANGE		12
  # define	mdREPLACE	13
  # define	mdRETRIEVE	14
  # define	mdSAVE		15
  # define	mdVIEW		16
  # define	mdPROT		17
  	
  	/* statements particular to Equel */
  
  # define	mdDECL		16	/* C - declaration */
  # define	mdCTLELM	17	/* left hand side of target list element
  					 * in "retrieve" to C-variables
  					 */
  # define	mdEXIT		18	/* ## exit */
  # define	mdINGRES	19	/* ## ingres */
  # define	mdTUPRET	20	/* "retrieve" w/o an "into" */
  # define	mdFILENAME	21	/* used in "copy" statement */
  
  
  
  
  
  
  
  /* define	typTYPE		xx		/*   c types "Type_spec"  */
  # define			opINT		1
  # define			opFLOAT		2
  # define			opSTRING	3
  # define			opDOUBLE	4
  # define			opCHAR		5
  # define			opLONG		6
  # define			opIDSTRING	7
  # define			opSTRUCT	8
  
  
  /* define	typALLOC	xx		/*  c var allocation types  */
  # define			opAUTO		0
  # define			opSTATIC	1
  # define			opEXTERN	2
  # define			opREGISTER	3
  