Source code of Windows XP (NT5)
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.

149 lines
5.9 KiB

  1. // =========================================================================
  2. // Copyright (C) 1997, Microsoft Corporation. All Rights Reserved.
  3. // =========================================================================
  4. #include <stdlib.h>
  5. #include <string.h>
  6. #include <io.h>
  7. #include "basecore.hpp"
  8. char TempNoun[3][3] =
  9. {
  10. {__K_N, __V_p, 0},
  11. {__K_J, __V_p, 0},
  12. {__K_N, __V_o, 0}
  13. };
  14. char TempNumNoun[] =
  15. {
  16. __K_H, __V_k, __K_G, __K_N, __V_u, __K_N, 0, 5,
  17. __K_I, __V_u, __K_N, __K_D, __V_o, 0, 0, 4,
  18. __K_N, __V_u, __K_N, __K_D, __V_o, 0, 0, 4,
  19. __K_J, __V_n, __K_I, __K_D, __V_o, 0, 0, 4,
  20. __K_B, __V_n, __K_N, __K_D, __V_o, 0, 0, 4,
  21. __K_S, __V_h, __K_D, __V_o, 0, 0, 0, 3,
  22. __K_D, __V_o, __K_D, __V_o, 0, 0, 0, 3,
  23. __K_S, __V_k, __K_D, __V_k, __K_N, 0, 0, 4,
  24. __K_G, __V_n, __K_N, __K_D, __V_k, __K_N, 0, 5,
  25. __K_I, __V_u, __K_D, __V_k, __K_N, 0, 0, 4,
  26. __K_N, __V_u, __K_N, 0, 0, 0, 0, 2,
  27. __K_G, __V_o, __K_I, __V_nj, __K_R, 0, 0, 4,
  28. __K_I, __V_nj, __K_R, 0, 0, 0, 0, 2,
  29. __K_I, __V_nj, __K_N, 0, 0, 0, 0, 2,
  30. __K_I, __V_l, __K_R, 0, 0, 0, 0, 2,
  31. __K_B, __V_n, __K_N, 0, 0, 0, 0, 2,
  32. __K_N, __V_u, __K_N, __K_J_D, __V_o, 0, 0, 4,
  33. __K_I, __V_l, __K_R, __K_J_D, __V_o, 0, 0, 4,
  34. __K_J, __V_n, __K_J_D, __V_o, 0, 0, 0, 4,
  35. __K_B, __V_j, __K_N, 0, 0, 0, 0, 2,
  36. __K_B, __V_k, __K_N, 0, 0, 0, 0, 2,
  37. __K_D, __V_k, __K_N, 0, 0, 0, 0, 2,
  38. __K_G, __V_m, __K_B, 0, 0, 0, 0, 2,
  39. __K_C, __V_m, __K_I, 0, 0, 0, 0, 2,
  40. __K_H, __V_k, __K_I, 0, 0, 0, 0, 2,
  41. __K_J, __V_k, __K_I, 0, 0, 0, 0, 2,
  42. __K_P, __V_u, __K_N, 0, 0, 0, 0, 2,
  43. __K_C, __V_h, 0, 0, 0, 0, 0, 1,
  44. __K_S, __V_l, 0, 0, 0, 0, 0, 1,
  45. __K_D, __V_o, 0, 0, 0, 0, 0, 1,
  46. __K_H, __V_hl, 0, 0, 0, 0, 0, 1,
  47. __K_G, __V_hk, 0, 0, 0, 0, 0, 1
  48. };
  49. char TempJumpNum[] =
  50. {
  51. __K_G,__V_u,__K_I, 0, 2,
  52. __K_M,__V_k,__K_N, 0, 2,
  53. __K_I,__V_j,__K_G, 0, 2,
  54. __K_J,__V_h, 0, 0, 1,
  55. __K_H,__V_o, 0, 0, 1
  56. };
  57. char TempSujaNum[] =
  58. {
  59. __K_I, __V_l, __K_R, 0, 0, 0, 0, 2,
  60. __K_I, __V_l, 0, 0, 0, 0, 0, 1,
  61. __K_S, __V_k, __K_M, 0, 0, 0, 0, 2,
  62. __K_S, __V_k, 0, 0, 0, 0, 0, 1,
  63. __K_I, __V_h, 0, 0, 0, 0, 0, 1,
  64. __K_I, __V_b, __K_G, 0, 0, 0, 0, 2,
  65. __K_C, __V_l, __K_R, 0, 0, 0, 0, 2,
  66. __K_P, __V_k, __K_R, 0, 0, 0, 0, 2,
  67. __K_G, __V_n, 0, 0, 0, 0, 0, 1,
  68. __K_H, __V_k, __K_N, __V_k, 0, 0, 0, 3,
  69. __K_D, __V_n, __K_R, 0, 0, 0, 0, 2,
  70. __K_S, __V_p, __K_S, 0, 0, 0, 0, 2,
  71. __K_N, __V_p, __K_S, 0, 0, 0, 0, 2,
  72. __K_D, __V_k, __K_S, __V_j, __K_S, 0, 0, 4,
  73. __K_I, __V_u, __K_S, __V_j, __K_S, 0, 0, 4,
  74. __K_I, __V_l, __K_R, __K_G, __V_h, __K_B, 0, 5,
  75. __K_I, __V_u, __K_D, __V_j, __K_R, __K_B, 0, 5,
  76. __K_I, __V_k, __K_H, __V_h, __K_B, 0, 0, 4,
  77. __K_I, __V_u, __K_R, 0, 0, 0, 0, 2,
  78. __K_S, __V_m, __K_M, __V_n, __K_R, 0, 0, 4,
  79. __K_S, __V_j, __K_R, __V_m, __K_N, 0, 0, 4,
  80. __K_M, __V_k, __K_H, __V_m, __K_N, 0, 0, 4,
  81. __K_S, __V_nl, __K_N, 0, 0, 0, 0, 2,
  82. __K_I, __V_P, __K_S, __V_n, __K_N, 0, 0, 4,
  83. __K_I, __V_l, __K_R, __K_H, __V_m, __K_N, 0, 5,
  84. __K_I, __V_u, __K_D, __V_m, __K_N, 0, 0, 4,
  85. __K_I, __V_k, __K_H, __V_m, __K_N, 0, 0, 4
  86. };
  87. char TempBaseNum[] =
  88. {
  89. __K_S,__V_l,__K_B, 0, 2,
  90. __K_B,__V_o,__K_G, 0, 2,
  91. __K_C,__V_j,__K_N, 0, 2
  92. };
  93. static char DoubleNum[8][7] =
  94. {
  95. { __K_I,__V_l,__K_R,__K_I,__V_l, 0, 0 },
  96. { __K_I,__V_l,__K_S,__V_k,__K_M, 0, 0 },
  97. { __K_S,__V_k,__K_M,__K_S,__V_k, 0, 0 },
  98. { __K_S,__V_k,__K_I,__V_h, 0, 0, 0 },
  99. { __K_I,__V_h,__K_I,__V_b,__K_G, 0, 0 },
  100. { __K_I,__V_b,__K_G,__K_C,__V_l,__K_R, 0 },
  101. { __K_C,__V_l,__K_R,__K_P,__V_k,__K_R, 0 },
  102. { __K_P,__V_k,__K_R,__K_G,__V_n, 0, 0 }
  103. };
  104. static char TempPrefix[] = {
  105. __K_D, __V_o, 0, 0, 1,
  106. __K_B, __V_l, 0, 0, 1,
  107. __K_S, __V_l, __K_N, 0, 2,
  108. __K_J, __V_o, 0, 0, 1,
  109. __K_J, __V_n, 0, 0, 1,
  110. __K_C, __V_h, __K_I, 0, 2,
  111. __K_H, __V_u, __K_N, 0, 2,
  112. __K_J, __V_j, __K_N, 0, 2,
  113. __K_P, __V_l, 0, 0, 1
  114. };
  115. char TempSuffixOut[] = {
  116. __K_D, __V_m, __K_R, __K_G, __V_k, __K_N, 0, 5,
  117. __K_D, __V_m, __K_R, __K_I, __V_y, __K_I, 0, 5,
  118. __K_D, __V_m, __K_R, __K_S_D, __V_l, __K_G, 0, 5,
  119. __K_D, __V_m, __K_R, __K_J_D, __V_m, __K_M, 0, 5,
  120. __K_G, __V_k, __K_N, 0, 0, 0, 0, 2,
  121. __K_I, __V_y, __K_I, 0, 0, 0, 0, 2,
  122. __K_S_D, __V_l, __K_G, 0, 0, 0, 0, 2,
  123. __K_J_D, __V_m, __K_M, 0, 0, 0, 0, 2
  124. };
  125. LenDict JumpNum;
  126. LenDict SujaNum;
  127. LenDict BaseNum;
  128. //LenDict NumNoun(TempNumNoun, 8, 35);
  129. LenDict NumNoun;
  130. LenDict Suffix;
  131. int PrefixCheck(char *, char *);