|
|
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();
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.