|
|
1.1 ! root 1: /* @(#)tk.h 2.3 */ ! 2: ! 3: typedef short LCE; /* lanuguage code - used in mabiguous sitiuations */ ! 4: #define lcC 0 ! 5: #define lcPascal 1 ! 6: #define lcFortran 2 ! 7: ! 8: /* these are in ASCII order of their characters, where practicable. ! 9: * this is not meaningful, just meant to help organize things. ! 10: */ ! 11: ! 12: /* where a token has a certain meaning (e.g. tkStar means tkMul), this ! 13: * is done with the = operator. When there are multiple meanings ! 14: * (i.e. the character is overloaded) then the BINARY operator token has ! 15: * the same value as the basic symbol (e.g. tkMul=tkStar) and the unary ! 16: * operator has its own token (tkDeref). The translation is context ! 17: * sensitive and is done in expr.c. ! 18: */ ! 19: /* this WAS an enum, but went to defines for V7 compatibility */ ! 20: ! 21: #define tkNil 0 ! 22: #define tkBang 1 /* ! */ ! 23: #define tkDQuote 2 /* " */ ! 24: #define tkHash 3 /* # */ ! 25: #define tkDollar 4 /* $ */ ! 26: #define tkPercent 5 /* % */ ! 27: #define tkModulo tkPercent ! 28: #define tkAmper 7 /* & */ ! 29: #define tkBitAnd tkAmper ! 30: #define tkSQuote 8 /* ' */ ! 31: #define tkLP 9 /* ( */ ! 32: #define tkRP 10 /* ) */ ! 33: #define tkStar 11 /* * */ ! 34: #define tkMul tkStar ! 35: #define tkPlus 12 /* + */ ! 36: #define tkComma 13 /* , */ ! 37: #define tkMinus 14 /* - */ ! 38: #define tkDot 15 /* . */ ! 39: #define tkSlash 16 /* / */ ! 40: /* the numbers */ ! 41: #define tkColon 17 /* : */ ! 42: #define tkSemi 18 /* ; */ ! 43: #define tkLAB 19 /* < */ ! 44: #define tkLT tkLAB ! 45: #define tkAssign 20 /* = */ ! 46: #define tkRAB 21 /* > */ ! 47: #define tkGT tkRAB ! 48: #define tkQuest 22 /* ? */ ! 49: #define tkAt 23 /* @ */ ! 50: /* upper case characters */ ! 51: #define tkLSB 24 /* [ */ ! 52: #define tkBackSlash 25 /* \ */ ! 53: #define tkRSB 26 /* ] */ ! 54: #define tkUpArrow 27 /* ^ */ ! 55: #define tkXOR tkUpArrow ! 56: #define tkUnderScore 28 /* _ */ ! 57: /* lower case characters */ ! 58: #define tkLCB 29 /* { */ ! 59: #define tkBar 30 /* | */ ! 60: #define tkBitOr tkBar ! 61: #define tkRCB 31 /* } */ ! 62: #define tkTilda 32 /* ~ */ ! 63: /* overloaded characters - translated in expr.c */ ! 64: #define tkRef 33 /* & */ ! 65: #define tkDeref 34 /* * */ ! 66: #define tkUMinus 35 /* - unary minus */ ! 67: /* these are compound tokens */ ! 68: #define tkAssPlus 36 /* += */ ! 69: #define tkAssMinus 37 /* -= */ ! 70: #define tkAssMult 38 /* *= */ ! 71: #define tkAssDiv 39 /* /= */ ! 72: #define tkAssMod 40 /* %= */ ! 73: #define tkAssXOR 41 /* ^= */ ! 74: #define tkAssBAND 42 /* &= */ ! 75: #define tkAssBOR 43 /* |= */ ! 76: #define tkAssLeft 44 /* <<= */ ! 77: #define tkAssRight 45 /* >>= */ ! 78: #define tkLAND 46 /* && */ ! 79: #define tkLOR 47 /* || */ ! 80: #define tkLE 48 /* <= */ ! 81: #define tkGE 49 /* >= */ ! 82: #define tkEqual 50 /* == */ ! 83: #define tkNotEqual 51 /* != */ ! 84: #define tkLShift 52 /* << */ ! 85: #define tkRShift 53 /* >> */ ! 86: #define tkPtr 54 /* -> */ ! 87: #define tkDiv 55 /* // for division */ ! 88: #define tkNumber 56 /* 0123456789 */ ! 89: #define tkStr 57 /* Hi */ ! 90: #define tkStrConstant 58 /* "Hi\n" */ ! 91: #define tkCharConstant 60 /* '\t' for instance */ ! 92: /* these are psuedo-tokens */ ! 93: #define tkIndex 61 /* the index operation */ ! 94: #define tkBOE 62 /* beginning of expression */ ! 95: #define tkEOE 63 /* end of expression */ ! 96: #define tkAdr 64 /* this is an address */ ! 97: #define tkSizeof 65 /* the C sizeof operator */ ! 98: #define tkInside 66 /* inside of procedure */ ! 99: #define tkMax 67 /* highest value used + 1 */ ! 100: #define tkOther -1 /* <Twilight Zone> */ ! 101: ! 102: typedef int TKE, *pTKE; ! 103: extern TKE vtkLast, vtk; ! 104: extern TKE TkNext();
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.