home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / library / dos / math / pac / toktab.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-06-05  |  7.4 KB  |  345 lines

  1. /* toktab.h */
  2. /**********************************************************************
  3. *    File Name     : toktab.h
  4. *    Function      : token definitions, token table
  5. *    Author        : Istvan Mohos, 1987
  6. ***********************************************************************/
  7.  
  8. /* to add token:
  9.    insert in toklist, spacefilled to WORDSIZE, in ascii alpha sequence;
  10.    increment LISTSIZE;
  11.    add token #define, in the SAME ORDER as in toklist;
  12.    renumber defines (0  to  LISTSIZE - 1);
  13.    if token contains weird char, adjust map in pac.c to allow it;
  14.    describe action in interpret.c;
  15. */
  16.  
  17. #define WORDSIZE  9        /* maximum token size, not including \0 */
  18. #define LISTSIZE  158      /* number of pac tokens */
  19.  
  20. #ifdef PACTOK
  21. static char *toklist[] = {
  22. "!        ",
  23. "#        ",
  24. "\'        ",
  25. ";        ",
  26. "?        ",
  27. "X        ",
  28. "\\        ",
  29. "amass    ",
  30. "and      ",
  31. "arct     ",
  32. "astro    ",
  33. "at       ",
  34. "atto     ",
  35. "au       ",
  36. "auto     ",
  37. "autoconv ",
  38. "autotime ",
  39. "avogadro ",
  40. "boltzmann",
  41. "break    ",
  42. "bye      ",
  43. "chroma   ",
  44. "clr      ",
  45. "cm       ",
  46. "comma    ",
  47. "cos      ",
  48. "define   ",
  49. "dontsave ",
  50. "dp       ",
  51. "ds       ",
  52. "dup      ",
  53. "earthmass",
  54. "earthrad ",
  55. "echarge  ",
  56. "emass    ",
  57. "euler    ",
  58. "exa      ",
  59. "exit     ",
  60. "exp      ",
  61. "faraday  ",
  62. "femto    ",
  63. "fix      ",
  64. "fo       ",
  65. "for      ",
  66. "format   ",
  67. "g        ",
  68. "gas      ",
  69. "giga     ",
  70. "gravity  ",
  71. "h        ",
  72. "hardform ",
  73. "heat     ",
  74. "help     ",
  75. "hf       ",
  76. "i        ",
  77. "ib       ",
  78. "ibase    ",
  79. "if       ",
  80. "init     ",
  81. "j        ",
  82. "ju       ",
  83. "justify  ",
  84. "k        ",
  85. "kilo     ",
  86. "l        ",
  87. "le       ",
  88. "left     ",
  89. "length   ",
  90. "light    ",
  91. "lightyear",
  92. "log      ",
  93. "m        ",
  94. "mega     ",
  95. "micro    ",
  96. "milli    ",
  97. "mod      ",
  98. "mohos    ",
  99. "moonmass ",
  100. "moonrad  ",
  101. "n        ",
  102. "nano     ",
  103. "natural  ",
  104. "nmass    ",
  105. "not      ",
  106. "o        ",
  107. "ob       ",
  108. "obase    ",
  109. "off      ",
  110. "on       ",
  111. "or       ",
  112. "p        ",
  113. "parallax ",
  114. "parsec   ",
  115. "pd       ",
  116. "pdelta   ",
  117. "pdiff    ",
  118. "pe       ",
  119. "pequal   ",
  120. "peta     ",
  121. "pi       ",
  122. "pico     ",
  123. "planck   ",
  124. "pll      ",
  125. "pm       ",
  126. "pmass    ",
  127. "pminus   ",
  128. "po       ",
  129. "pof      ",
  130. "pop      ",
  131. "pp       ",
  132. "pplus    ",
  133. "pr       ",
  134. "precision",
  135. "psh      ",
  136. "pv       ",
  137. "pversus  ",
  138. "q        ",
  139. "quit     ",
  140. "r        ",
  141. "ri       ",
  142. "right    ",
  143. "rydberg  ",
  144. "s        ",
  145. "sb       ",
  146. "scale    ",
  147. "sin      ",
  148. "sound    ",
  149. "sp       ",
  150. "space    ",
  151. "sqrt     ",
  152. "st       ",
  153. "stack    ",
  154. "staybase ",
  155. "stefan   ",
  156. "sto      ",
  157. "sunmass  ",
  158. "sunrad   ",
  159. "swp      ",
  160. "t        ",
  161. "te       ",
  162. "tera     ",
  163. "terse    ",
  164. "to       ",
  165. "tomoon   ",
  166. "tosun    ",
  167. "tw       ",
  168. "twoscomp ",
  169. "u        ",
  170. "v        ",
  171. "ver      ",
  172. "verbose  ",
  173. "w        ",
  174. "while    ",
  175. "wien     ",
  176. "x        ",
  177. "xor      ",
  178. "xt       ",
  179. "xterse   "
  180. };
  181. #endif
  182.  
  183. /* pac token table definitions, ordered EXACTLY as toklist,
  184.    numbered sequentially from 0.  When adding or removing tokens, this
  185.    list gets renumbered. */
  186.  
  187. #define BANG             0
  188. #define SHARP            1
  189. #define TICK             2
  190. #define SEMI             3
  191. #define QUESTION         4
  192. #define X_UPPER          5
  193. #define BACKSLASH        6
  194. #define AMASS            7
  195. #define AND              8
  196. #define ARCT             9
  197. #define ASTRO           10
  198. #define AT              11
  199. #define ATTO            12
  200. #define AU              13
  201. #define AUTO            14
  202. #define AUTOCONV        15
  203. #define AUTOTIME        16
  204. #define AVOGADRO        17
  205. #define BOLTZMANN       18
  206. #define BREAK           19
  207. #define BYE             20
  208. #define CHROMA          21
  209. #define CLR             22
  210. #define CM              23
  211. #define COMMA           24
  212. #define COS             25
  213. #define DEFINE          26
  214. #define DONTSAVE        27
  215. #define DP              28
  216. #define DS              29
  217. #define DUP             30
  218. #define EARTHMASS       31
  219. #define EARTHRAD        32
  220. #define ECHARGE         33
  221. #define EMASS           34
  222. #define EULER           35
  223. #define EXA             36
  224. #define EXIT            37
  225. #define EXP             38
  226. #define FARADAY         39
  227. #define FEMTO           40
  228. #define FIX             41
  229. #define FO              42
  230. #define FOR             43
  231. #define FORMAT          44
  232. #define G_              45
  233. #define GAS             46
  234. #define GIGA            47
  235. #define GRAVITY         48
  236. #define H_              49
  237. #define HARDFORM        50
  238. #define HEAT            51
  239. #define HELP            52
  240. #define HF              53
  241. #define I_              54
  242. #define IB              55
  243. #define IBASE           56
  244. #define IF              57
  245. #define INIT_           58
  246. #define J_              59
  247. #define JU              60
  248. #define JUSTIFY         61
  249. #define K_              62
  250. #define KILO            63
  251. #define L_              64
  252. #define LE              65
  253. #define LEFT            66
  254. #define LENGTH          67
  255. #define LIGHT           68
  256. #define LIGHTYEAR       69
  257. #define LOG             70
  258. #define M_              71
  259. #define MEGA            72
  260. #define MICRO           73
  261. #define MILLI           74
  262. #define MOD             75
  263. #define MOHOS           76
  264. #define MOONMASS        77
  265. #define MOONRAD         78
  266. #define N_              79
  267. #define NANO            80
  268. #define NATURAL         81
  269. #define NMASS           82
  270. #define NOT             83
  271. #define O_              84
  272. #define OB              85
  273. #define OBASE           86
  274. #define OFF             87
  275. #define ON              88
  276. #define OR              89
  277. #define P_              90
  278. #define PARALLAX        91
  279. #define PARSEC          92
  280. #define PD              93
  281. #define PDELTA          94
  282. #define PDIFF           95
  283. #define PE              96
  284. #define PEQUAL          97
  285. #define PETA            98
  286. #define PI              99
  287. #define PICO           100
  288. #define PLANCK         101
  289. #define PLL            102
  290. #define PM             103
  291. #define PMASS          104
  292. #define PMINUS         105
  293. #define PO             106
  294. #define POF            107
  295. #define POP            108
  296. #define PP             109
  297. #define PPLUS          110
  298. #define PR             111
  299. #define PRECISION      112
  300. #define PSH            113
  301. #define PV             114
  302. #define PVERSUS        115
  303. #define Q_             116
  304. #define QUIT           117
  305. #define R_             118
  306. #define RI             119
  307. #define RIGHT          120
  308. #define RYDBERG        121
  309. #define S_             122
  310. #define SB             123
  311. #define SCALE          124
  312. #define SIN            125
  313. #define SOUND          126
  314. #define SP             127
  315. #define SPACE          128
  316. #define SQRT           129
  317. #define ST             130
  318. #define STACK          131
  319. #define STAYBASE       132
  320. #define STEFAN         133
  321. #define STO            134
  322. #define SUNMASS        135
  323. #define SUNRAD         136
  324. #define SWP            137
  325. #define T_             138
  326. #define TE             139
  327. #define TERA           140
  328. #define TERSE          141
  329. #define TO             142
  330. #define TOMOON         143
  331. #define TOSUN          144
  332. #define TW             145
  333. #define TWOSCOMP       146
  334. #define U_             147
  335. #define V_             148
  336. #define VER            149
  337. #define VERBOSE        150
  338. #define W_             151
  339. #define WHILE          152
  340. #define WIEN           153
  341. #define X_LOWER        154
  342. #define XOR            155
  343. #define XT             156
  344. #define XTERSE         157
  345.