File:  [Power 6/32 Unix Tahoe 4.2BSD] / cci / usr / src / bin / cdb / tk.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Sun Jul 28 12:24:19 2019 UTC (7 years ago) by root
Branches: bsd, MAIN
CVS tags: v12b, v121, HEAD
Power 6/32 Unix version 1.2b

/* @(#)tk.h	2.3 */

typedef short	LCE;	/* lanuguage code - used in mabiguous sitiuations */
#define lcC	0
#define lcPascal 1
#define lcFortran 2

/* these are in ASCII order of their characters, where practicable.
 * this is not meaningful, just meant to help organize things.
 */

/* where a token has a certain meaning (e.g. tkStar means tkMul), this
 * is done with the = operator.  When there are multiple meanings
 * (i.e. the character is overloaded) then the BINARY operator token has
 * the same value as the basic symbol (e.g. tkMul=tkStar) and the unary
 * operator has its own token (tkDeref). The translation is context
 * sensitive and is done in expr.c.
 */
/* this WAS an enum, but went to defines for V7 compatibility */

#define tkNil		0
#define tkBang		1	/* ! */
#define tkDQuote	2	/* " */
#define tkHash		3	/* # */
#define tkDollar	4	/* $ */
#define tkPercent	5	/* % */
#define tkModulo tkPercent
#define tkAmper		7	/* & */
#define tkBitAnd tkAmper
#define tkSQuote	8	/* ' */
#define tkLP		9	/* ( */
#define tkRP		10	/* ) */
#define tkStar		11	/* * */
#define tkMul tkStar
#define tkPlus		12	/* + */
#define tkComma		13	/* , */
#define tkMinus		14	/* - */
#define tkDot		15	/* . */
#define tkSlash		16	/* / */
	/* the numbers */
#define tkColon		17	/* : */
#define tkSemi		18	/* ; */
#define tkLAB		19	/* < */
#define tkLT tkLAB
#define tkAssign	20	/* = */
#define tkRAB		21	/* > */
#define tkGT tkRAB
#define tkQuest		22	/* ? */
#define tkAt		23	/* @ */
	/* upper case characters */
#define tkLSB		24	/* [ */
#define tkBackSlash	25	/* \ */
#define tkRSB		26	/* ] */
#define tkUpArrow	27	/* ^ */
#define tkXOR tkUpArrow	
#define tkUnderScore	28	/* _ */
	/* lower case characters */
#define tkLCB		29	/* { */
#define tkBar		30	/* | */
#define tkBitOr tkBar
#define tkRCB		31	/* } */
#define tkTilda		32	/* ~ */
	/* overloaded characters - translated in expr.c */
#define tkRef		33	/* & */
#define tkDeref		34	/* * */
#define tkUMinus		35	/* - unary minus */
	/* these are compound tokens */
#define tkAssPlus	36	/* += */
#define tkAssMinus	37	/* -= */
#define tkAssMult	38	/* *= */
#define tkAssDiv	39	/* /= */
#define tkAssMod	40	/* %= */
#define tkAssXOR	41	/* ^= */
#define tkAssBAND	42	/* &= */
#define tkAssBOR	43	/* |= */
#define tkAssLeft	44	/* <<= */
#define tkAssRight	45	/* >>= */
#define tkLAND		46	/* && */
#define tkLOR		47	/* || */
#define tkLE		48	/* <= */
#define tkGE		49	/* >= */
#define tkEqual		50	/* == */
#define tkNotEqual	51	/* != */
#define tkLShift	52	/* << */
#define tkRShift	53	/* >> */
#define tkPtr		54	/* -> */
#define tkDiv		55	/* //  for division */
#define tkNumber	56	/* 0123456789 */
#define tkStr		57	/* Hi */
#define tkStrConstant	58	/* "Hi\n" */
#define tkCharConstant	60	/* '\t' for instance */
	/* these are psuedo-tokens */
#define tkIndex		61	/* the index operation */
#define tkBOE		62	/* beginning of expression */
#define tkEOE		63	/* end of expression */
#define tkAdr		64	/* this is an address */
#define	tkSizeof	65	/* the C sizeof operator */
#define	tkInside	66	/* inside of procedure */
#define tkMax		67	/* highest value used + 1 */
#define tkOther		-1	/* <Twilight Zone> */

typedef int	TKE, *pTKE;
extern TKE	vtkLast, vtk;
extern TKE	TkNext();

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.