Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

291 lines
7.5 KiB

  1. /************************************************************************/
  2. /* */
  3. /* RCPP - Resource Compiler Pre-Processor for NT system */
  4. /* */
  5. /* CHARMAP.C - Character mapping arrays */
  6. /* */
  7. /* 06-Dec-90 w-BrianM Update for NT from PM SDK RCPP */
  8. /* */
  9. /************************************************************************/
  10. #include "charmap.h"
  11. #define CHARMAP_SIZE 256
  12. unsigned char Charmap[CHARMAP_SIZE] = {
  13. LX_EOS, /* 0x0, <end of string marker> */
  14. LX_ILL, /* 0x1 */
  15. LX_ILL, /* 0x2 */
  16. LX_ILL, /* 0x3 */
  17. LX_ILL, /* 0x4 */
  18. LX_ILL, /* 0x5 */
  19. LX_ILL, /* 0x6 */
  20. LX_ILL, /* 0x7 */
  21. LX_ILL, /* 0x8 */
  22. LX_WHITE, /* <horizontal tab> */
  23. LX_NL, /* <newline> */
  24. LX_WHITE, /* <vertical tab> */
  25. LX_WHITE, /* <form feed> */
  26. LX_CR, /* <really a carriage return> */
  27. LX_ILL, /* 0xe */
  28. LX_ILL, /* 0xf */
  29. LX_ILL, /* 0x10 */
  30. LX_ILL, /* 0x11 */
  31. LX_ILL, /* 0x12 */
  32. LX_ILL, /* 0x13 */
  33. LX_ILL, /* 0x14 */
  34. LX_ILL, /* 0x15 */
  35. LX_ILL, /* 0x16 */
  36. LX_ILL, /* 0x17 */
  37. LX_ILL, /* 0x18 */
  38. LX_ILL, /* 0x19 */
  39. LX_EOS, /* 0x1a, ^Z */
  40. LX_ILL, /* 0x1b */
  41. LX_ILL, /* 0x1c */
  42. LX_ILL, /* 0x1d */
  43. LX_ILL, /* 0x1e */
  44. LX_ILL, /* 0x1f */
  45. LX_WHITE, /* 0x20 */
  46. LX_BANG, /* ! */
  47. LX_DQUOTE, /* " */
  48. LX_POUND, /* # */
  49. LX_ASCII, /* $ */
  50. LX_PERCENT, /* % */
  51. LX_AND, /* & */
  52. LX_SQUOTE, /* ' */
  53. LX_OPAREN, /* ( */
  54. LX_CPAREN, /* ) */
  55. LX_STAR, /* * */
  56. LX_PLUS, /* + */
  57. LX_COMMA, /* , */
  58. LX_MINUS, /* - */
  59. LX_DOT, /* . */
  60. LX_SLASH, /* / */
  61. LX_NUMBER, /* 0 */
  62. LX_NUMBER, /* 1 */
  63. LX_NUMBER, /* 2 */
  64. LX_NUMBER, /* 3 */
  65. LX_NUMBER, /* 4 */
  66. LX_NUMBER, /* 5 */
  67. LX_NUMBER, /* 6 */
  68. LX_NUMBER, /* 7 */
  69. LX_NUMBER, /* 8 */
  70. LX_NUMBER, /* 9 */
  71. LX_COLON, /* : */
  72. LX_SEMI, /* ; */
  73. LX_LT, /* < */
  74. LX_EQ, /* = */
  75. LX_GT, /* > */
  76. LX_QUEST, /* ? */
  77. LX_EACH, /* @ */
  78. LX_ID, /* A */
  79. LX_ID, /* B */
  80. LX_ID, /* C */
  81. LX_ID, /* D */
  82. LX_ID, /* E */
  83. LX_ID, /* F */
  84. LX_ID, /* G */
  85. LX_ID, /* H */
  86. LX_ID, /* I */
  87. LX_ID, /* J */
  88. LX_ID, /* K */
  89. LX_ID, /* L */
  90. LX_ID, /* M */
  91. LX_ID, /* N */
  92. LX_ID, /* O */
  93. LX_ID, /* P */
  94. LX_ID, /* Q */
  95. LX_ID, /* R */
  96. LX_ID, /* S */
  97. LX_ID, /* T */
  98. LX_ID, /* U */
  99. LX_ID, /* V */
  100. LX_ID, /* W */
  101. LX_ID, /* X */
  102. LX_ID, /* Y */
  103. LX_ID, /* Z */
  104. LX_OBRACK, /* [ */
  105. LX_EOS, /* \ */
  106. LX_CBRACK, /* ] */
  107. LX_HAT, /* ^ */
  108. LX_ID, /* _ */
  109. LX_ASCII, /* ` */
  110. LX_ID, /* a */
  111. LX_ID, /* b */
  112. LX_ID, /* c */
  113. LX_ID, /* d */
  114. LX_ID, /* e */
  115. LX_ID, /* f */
  116. LX_ID, /* g */
  117. LX_ID, /* h */
  118. LX_ID, /* i */
  119. LX_ID, /* j */
  120. LX_ID, /* k */
  121. LX_ID, /* l */
  122. LX_ID, /* m */
  123. LX_ID, /* n */
  124. LX_ID, /* o */
  125. LX_ID, /* p */
  126. LX_ID, /* q */
  127. LX_ID, /* r */
  128. LX_ID, /* s */
  129. LX_ID, /* t */
  130. LX_ID, /* u */
  131. LX_ID, /* v */
  132. LX_ID, /* w */
  133. LX_ID, /* x */
  134. LX_ID, /* y */
  135. LX_ID, /* z */
  136. LX_OBRACE, /* { */
  137. LX_OR, /* | */
  138. LX_CBRACE, /* } */
  139. LX_TILDE, /* ~ */
  140. LX_ILL, /* 0x7f */
  141. LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL,
  142. LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL,
  143. LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL,
  144. LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL,
  145. LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL,
  146. LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL,
  147. LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL,
  148. LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL,
  149. LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL,
  150. LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL,
  151. LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL,
  152. LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL,
  153. LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL,
  154. LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL,
  155. LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL,
  156. LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL, LX_ILL,
  157. };
  158. unsigned char Contmap[CHARMAP_SIZE] = {
  159. LXC_SPECIAL,/* 0x0, <end of string marker> */
  160. 0, /* 0x1 */
  161. 0, /* 0x2 */
  162. 0, /* 0x3 */
  163. 0, /* 0x4 */
  164. 0, /* 0x5 */
  165. 0, /* <end of buffer marker> */
  166. 0, /* 0x7 */
  167. 0, /* 0x8 */
  168. LXC_WHITE, /* <horizontal tab> */
  169. LXC_SPECIAL,/* <newline>, this is NOT considered whitespace */
  170. LXC_WHITE, /* <vertical tab> */
  171. LXC_WHITE, /* <form feed> */
  172. 0, /* <really a carriage return> */
  173. 0, /* 0xe */
  174. 0, /* 0xf */
  175. 0, /* 0x10 */
  176. 0, /* 0x11 */
  177. 0, /* 0x12 */
  178. 0, /* 0x13 */
  179. 0, /* 0x14 */
  180. 0, /* 0x15 */
  181. 0, /* 0x16 */
  182. 0, /* 0x17 */
  183. 0, /* 0x18 */
  184. 0, /* 0x19 */
  185. LXC_SPECIAL,/* 0x1a */
  186. 0, /* 0x1b */
  187. 0, /* 0x1c */
  188. 0, /* 0x1d */
  189. 0, /* 0x1e */
  190. 0, /* 0x1f */
  191. LXC_WHITE, /* 0x20 */
  192. 0, /* ! */
  193. 0, /* " */
  194. 0, /* # */
  195. 0, /* $ */
  196. 0, /* % */
  197. 0, /* & */
  198. 0, /* ' */
  199. 0, /* ( */
  200. 0, /* ) */
  201. LXC_SPECIAL,/* * */
  202. 0, /* + */
  203. 0, /* , */
  204. 0, /* - */
  205. 0, /* . */
  206. 0, /* / */
  207. LXC_ID | LXC_XDIGIT | LXC_DIGIT | LXC_ODIGIT | LXC_BDIGIT, /* 0 */
  208. LXC_ID | LXC_XDIGIT | LXC_DIGIT | LXC_ODIGIT | LXC_BDIGIT, /* 1 */
  209. LXC_ID | LXC_XDIGIT | LXC_DIGIT | LXC_ODIGIT, /* 2 */
  210. LXC_ID | LXC_XDIGIT | LXC_DIGIT | LXC_ODIGIT, /* 3 */
  211. LXC_ID | LXC_XDIGIT | LXC_DIGIT | LXC_ODIGIT, /* 4 */
  212. LXC_ID | LXC_XDIGIT | LXC_DIGIT | LXC_ODIGIT, /* 5 */
  213. LXC_ID | LXC_XDIGIT | LXC_DIGIT | LXC_ODIGIT, /* 6 */
  214. LXC_ID | LXC_XDIGIT | LXC_DIGIT | LXC_ODIGIT, /* 7 */
  215. LXC_ID | LXC_XDIGIT | LXC_DIGIT, /* 8 */
  216. LXC_ID | LXC_XDIGIT | LXC_DIGIT, /* 9 */
  217. 0, /* : */
  218. 0, /* ; */
  219. 0, /* < */
  220. 0, /* = */
  221. 0, /* > */
  222. 0, /* ? */
  223. 0, /* @ */
  224. LXC_ID | LXC_XDIGIT, /* A */
  225. LXC_ID | LXC_XDIGIT | LXC_RADIX, /* B */
  226. LXC_ID | LXC_XDIGIT, /* C */
  227. LXC_ID | LXC_XDIGIT | LXC_RADIX, /* D */
  228. LXC_ID | LXC_XDIGIT, /* E */
  229. LXC_ID | LXC_XDIGIT, /* F */
  230. LXC_ID, /* G */
  231. LXC_ID | LXC_RADIX, /* H */
  232. LXC_ID, /* I */
  233. LXC_ID, /* J */
  234. LXC_ID, /* K */
  235. LXC_ID, /* L */
  236. LXC_ID, /* M */
  237. LXC_ID, /* N */
  238. LXC_ID | LXC_RADIX, /* O */
  239. LXC_ID, /* P */
  240. LXC_ID | LXC_RADIX, /* Q */
  241. LXC_ID, /* R */
  242. LXC_ID, /* S */
  243. LXC_ID, /* T */
  244. LXC_ID, /* U */
  245. LXC_ID, /* V */
  246. LXC_ID, /* W */
  247. LXC_ID, /* X */
  248. LXC_ID, /* Y */
  249. LXC_ID, /* Z */
  250. 0, /* [ */
  251. 0, /* \ */
  252. 0, /* ] */
  253. 0, /* ^ */
  254. LXC_ID, /* _ */
  255. 0, /* ` */
  256. LXC_ID | LXC_XDIGIT, /* a */
  257. LXC_ID | LXC_XDIGIT | LXC_RADIX, /* b */
  258. LXC_ID | LXC_XDIGIT, /* c */
  259. LXC_ID | LXC_XDIGIT | LXC_RADIX, /* d */
  260. LXC_ID | LXC_XDIGIT, /* e */
  261. LXC_ID | LXC_XDIGIT, /* f */
  262. LXC_ID, /* g */
  263. LXC_ID | LXC_RADIX, /* h */
  264. LXC_ID, /* i */
  265. LXC_ID, /* j */
  266. LXC_ID, /* k */
  267. LXC_ID, /* l */
  268. LXC_ID, /* m */
  269. LXC_ID, /* n */
  270. LXC_ID | LXC_RADIX, /* o */
  271. LXC_ID, /* p */
  272. LXC_ID | LXC_RADIX, /* q */
  273. LXC_ID, /* r */
  274. LXC_ID, /* s */
  275. LXC_ID, /* t */
  276. LXC_ID, /* u */
  277. LXC_ID, /* v */
  278. LXC_ID, /* w */
  279. LXC_ID, /* x */
  280. LXC_ID, /* y */
  281. LXC_ID, /* z */
  282. 0, /* { */
  283. 0, /* | */
  284. 0, /* } */
  285. 0, /* ~ */
  286. 0, /* 0x7f */
  287. };