StandardTokenizerTokenManager.cs
上传用户:zhangkuixh
上传日期:2013-09-30
资源大小:5473k
文件大小:37k
源码类别:

搜索引擎

开发平台:

C#

  1. /*
  2.  * Copyright 2004 The Apache Software Foundation
  3.  * 
  4.  * Licensed under the Apache License, Version 2.0 (the "License");
  5.  * you may not use this file except in compliance with the License.
  6.  * You may obtain a copy of the License at
  7.  * 
  8.  * http://www.apache.org/licenses/LICENSE-2.0
  9.  * 
  10.  * Unless required by applicable law or agreed to in writing, software
  11.  * distributed under the License is distributed on an "AS IS" BASIS,
  12.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13.  * See the License for the specific language governing permissions and
  14.  * limitations under the License.
  15.  */
  16. /* Generated By:JavaCC: Do not edit this line. StandardTokenizerTokenManager.java */
  17. using System;
  18. namespace Lucene.Net.Analysis.Standard
  19. {
  20. public class StandardTokenizerTokenManager : StandardTokenizerConstants
  21. {
  22.         /// <summary>By default, closes the input Reader. </summary>
  23.         public void Close()
  24.         { 
  25.             debugStream.Close(); 
  26.             input_stream.Done(); 
  27.         }
  28. private void  InitBlock()
  29. {
  30. System.IO.StreamWriter temp_writer;
  31. temp_writer = new System.IO.StreamWriter(System.Console.OpenStandardOutput(), System.Console.Out.Encoding);
  32. temp_writer.AutoFlush = true;
  33. debugStream = temp_writer;
  34. }
  35. public System.IO.StreamWriter debugStream;
  36. public virtual void  SetDebugStream(System.IO.StreamWriter ds)
  37. {
  38. debugStream = ds;
  39. }
  40. private int JjMoveStringLiteralDfa0_0()
  41. {
  42. return JjMoveNfa_0(0, 0);
  43. }
  44. private void  JjCheckNAdd(int state)
  45. {
  46. if (jjrounds[state] != jjround)
  47. {
  48. jjstateSet[jjnewStateCnt++] = state;
  49. jjrounds[state] = jjround;
  50. }
  51. }
  52. private void  JjAddStates(int start, int end)
  53. {
  54. do 
  55. {
  56. jjstateSet[jjnewStateCnt++] = jjnextStates[start];
  57. }
  58. while (start++ != end);
  59. }
  60. private void  JjCheckNAddTwoStates(int state1, int state2)
  61. {
  62. JjCheckNAdd(state1);
  63. JjCheckNAdd(state2);
  64. }
  65. private void  JjCheckNAddStates(int start, int end)
  66. {
  67. do 
  68. {
  69. JjCheckNAdd(jjnextStates[start]);
  70. }
  71. while (start++ != end);
  72. }
  73. private void  JjCheckNAddStates(int start)
  74. {
  75. JjCheckNAdd(jjnextStates[start]);
  76. JjCheckNAdd(jjnextStates[start + 1]);
  77. }
  78. internal static readonly ulong[] jjbitVec0 = new ulong[]{0x1ff0000000000000L, 0xffffffffffffc000L, 0xffffffffL, 0x600000000000000L};
  79. internal static readonly ulong[] jjbitVec2 = new ulong[]{0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL};
  80. internal static readonly ulong[] jjbitVec3 = new ulong[]{0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffL, 0x0L};
  81. internal static readonly ulong[] jjbitVec4 = new ulong[]{0xffffffffffffffffL, 0xffffffffffffffffL, 0x0L, 0x0L};
  82. internal static readonly ulong[] jjbitVec5 = new ulong[]{0x3fffffffffffL, 0x0L, 0x0L, 0x0L};
  83. internal static readonly ulong[] jjbitVec6 = new ulong[]{0x0L, 0x0L, 0xfffff00000000000L, 0x7fffffL};
  84. internal static readonly ulong[] jjbitVec7 = new ulong[]{0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffL, 0x0L};
  85. internal static readonly ulong[] jjbitVec8 = new ulong[]{0xfffffffeL, 0x0L, 0x0L, 0x0L};
  86. internal static readonly ulong[] jjbitVec9 = new ulong[]{0x0L, 0x0L, 0x0L, 0xff7fffffff7fffffL};
  87. internal static readonly ulong[] jjbitVec10 = new ulong[]{0x1600L, 0x0L, 0x0L, 0x0L};
  88. internal static readonly ulong[] jjbitVec11 = new ulong[]{0x0L, 0xffc000000000L, 0x0L, 0xffc000000000L};
  89. internal static readonly ulong[] jjbitVec12 = new ulong[]{0x0L, 0x3ff00000000L, 0x0L, 0x3ff000000000000L};
  90. internal static readonly ulong[] jjbitVec13 = new ulong[]{0x0L, 0xffc000000000L, 0x0L, 0xff8000000000L};
  91. internal static readonly ulong[] jjbitVec14 = new ulong[]{0x0L, 0xffc000000000L, 0x0L, 0x0L};
  92. internal static readonly ulong[] jjbitVec15 = new ulong[]{0x0L, 0x3ff0000L, 0x0L, 0x3ff0000L};
  93. internal static readonly ulong[] jjbitVec16 = new ulong[]{0x0L, 0x3ffL, 0x0L, 0x0L};
  94. internal static readonly ulong[] jjbitVec17 = new ulong[]{0xfffffffeL, 0x0L, 0xfffff00000000000L, 0x7fffffL};
  95. private int JjMoveNfa_0(int startState, int curPos)
  96. {
  97. int[] nextStates;
  98. int startsAt = 0;
  99. jjnewStateCnt = 75;
  100. int i = 1;
  101. jjstateSet[0] = startState;
  102. int j, kind = 0x7fffffff;
  103. for (; ; )
  104. {
  105. if (++jjround == 0x7fffffff)
  106. ReInitRounds();
  107. if (curChar < 64)
  108. {
  109.                     ulong l = ((ulong) 1L) << curChar;
  110. MatchLoop: 
  111. do 
  112. {
  113. switch (jjstateSet[--i])
  114. {
  115. case 0: 
  116. if ((0x3ff000000000000L & l) != (ulong) 0L)
  117. {
  118. if (kind > 1)
  119. kind = 1;
  120. JjCheckNAddStates(0, 11);
  121. }
  122. if ((0x3ff000000000000L & l) != (ulong) 0L)
  123. JjCheckNAddStates(12, 17);
  124. if ((0x3ff000000000000L & l) != (ulong) 0L)
  125. JjCheckNAddStates(18, 23);
  126. break;
  127. case 2: 
  128. if ((0x3ff000000000000L & l) != (ulong) 0L)
  129. JjCheckNAddStates(18, 23);
  130. break;
  131. case 3: 
  132. if ((0x3ff000000000000L & l) != (ulong) 0L)
  133. JjCheckNAddTwoStates(3, 4);
  134. break;
  135. case 4: 
  136. case 5: 
  137. if ((0x3ff000000000000L & l) != (ulong) 0L)
  138. JjCheckNAddTwoStates(5, 6);
  139. break;
  140. case 6: 
  141. if ((0xf00000000000L & l) != (ulong) 0L)
  142. JjCheckNAdd(7);
  143. break;
  144. case 7: 
  145. if ((0x3ff000000000000L & l) == (ulong) 0L)
  146. break;
  147. if (kind > 7)
  148. kind = 7;
  149. JjCheckNAdd(7);
  150. break;
  151. case 8: 
  152. if ((0x3ff000000000000L & l) != (ulong) 0L)
  153. JjCheckNAddTwoStates(8, 9);
  154. break;
  155. case 9: 
  156. case 10: 
  157. if ((0x3ff000000000000L & l) != (ulong) 0L)
  158. JjCheckNAddTwoStates(10, 11);
  159. break;
  160. case 11: 
  161. if ((0xf00000000000L & l) != (ulong) 0L)
  162. JjCheckNAdd(12);
  163. break;
  164. case 12: 
  165. if ((0x3ff000000000000L & l) != (ulong) 0L)
  166. JjCheckNAddTwoStates(12, 13);
  167. break;
  168. case 13: 
  169. if ((0xf00000000000L & l) != (ulong) 0L)
  170. JjCheckNAddTwoStates(14, 15);
  171. break;
  172. case 14: 
  173. if ((0x3ff000000000000L & l) != (ulong) 0L)
  174. JjCheckNAddTwoStates(14, 15);
  175. break;
  176. case 15: 
  177. case 16: 
  178. if ((0x3ff000000000000L & l) == (ulong) 0L)
  179. break;
  180. if (kind > 7)
  181. kind = 7;
  182. JjCheckNAddTwoStates(11, 16);
  183. break;
  184. case 17: 
  185. if ((0x3ff000000000000L & l) != (ulong) 0L)
  186. JjCheckNAddTwoStates(17, 18);
  187. break;
  188. case 18: 
  189. case 19: 
  190. if ((0x3ff000000000000L & l) != (ulong) 0L)
  191. JjCheckNAddTwoStates(19, 20);
  192. break;
  193. case 20: 
  194. if ((0xf00000000000L & l) != (ulong) 0L)
  195. JjCheckNAdd(21);
  196. break;
  197. case 21: 
  198. if ((0x3ff000000000000L & l) != (ulong) 0L)
  199. JjCheckNAddTwoStates(21, 22);
  200. break;
  201. case 22: 
  202. if ((0xf00000000000L & l) != (ulong) 0L)
  203. JjCheckNAddTwoStates(23, 24);
  204. break;
  205. case 23: 
  206. if ((0x3ff000000000000L & l) != (ulong) 0L)
  207. JjCheckNAddTwoStates(23, 24);
  208. break;
  209. case 24: 
  210. case 25: 
  211. if ((0x3ff000000000000L & l) != (ulong) 0L)
  212. JjCheckNAddTwoStates(25, 26);
  213. break;
  214. case 26: 
  215. if ((0xf00000000000L & l) != (ulong) 0L)
  216. JjCheckNAdd(27);
  217. break;
  218. case 27: 
  219. if ((0x3ff000000000000L & l) == (ulong) 0L)
  220. break;
  221. if (kind > 7)
  222. kind = 7;
  223. JjCheckNAddTwoStates(22, 27);
  224. break;
  225. case 28: 
  226. if ((0x3ff000000000000L & l) != (ulong) 0L)
  227. JjCheckNAddStates(12, 17);
  228. break;
  229. case 29: 
  230. if ((0x3ff000000000000L & l) == (ulong) 0L)
  231. break;
  232. if (kind > 1)
  233. kind = 1;
  234. JjCheckNAddStates(0, 11);
  235. break;
  236. case 30: 
  237. if ((0x3ff000000000000L & l) == (ulong) 0L)
  238. break;
  239. if (kind > 1)
  240. kind = 1;
  241. JjCheckNAdd(30);
  242. break;
  243. case 31: 
  244. if ((0x3ff000000000000L & l) != (ulong) 0L)
  245. JjCheckNAddStates(24, 26);
  246. break;
  247. case 32: 
  248. if ((0x600000000000L & l) != (ulong) 0L)
  249. JjCheckNAdd(33);
  250. break;
  251. case 33: 
  252. if ((0x3ff000000000000L & l) != (ulong) 0L)
  253. JjCheckNAddStates(27, 29);
  254. break;
  255. case 35: 
  256. if ((0x3ff000000000000L & l) != (ulong) 0L)
  257. JjCheckNAddTwoStates(35, 36);
  258. break;
  259. case 36: 
  260. if ((0x600000000000L & l) != (ulong) 0L)
  261. JjCheckNAdd(37);
  262. break;
  263. case 37: 
  264. if ((0x3ff000000000000L & l) == (ulong) 0L)
  265. break;
  266. if (kind > 5)
  267. kind = 5;
  268. JjCheckNAddTwoStates(36, 37);
  269. break;
  270. case 38: 
  271. if ((0x3ff000000000000L & l) != (ulong) 0L)
  272. JjCheckNAddTwoStates(38, 39);
  273. break;
  274. case 39: 
  275. if (curChar == 46)
  276. JjCheckNAdd(40);
  277. break;
  278. case 40: 
  279. if ((0x3ff000000000000L & l) == (ulong) 0L)
  280. break;
  281. if (kind > 6)
  282. kind = 6;
  283. JjCheckNAddTwoStates(39, 40);
  284. break;
  285. case 41: 
  286. if ((0x3ff000000000000L & l) != (ulong) 0L)
  287. JjCheckNAddTwoStates(41, 42);
  288. break;
  289. case 42: 
  290. if ((0xf00000000000L & l) != (ulong) 0L)
  291. JjCheckNAddTwoStates(43, 44);
  292. break;
  293. case 43: 
  294. if ((0x3ff000000000000L & l) != (ulong) 0L)
  295. JjCheckNAddTwoStates(43, 44);
  296. break;
  297. case 44: 
  298. case 45: 
  299. if ((0x3ff000000000000L & l) == (ulong) 0L)
  300. break;
  301. if (kind > 7)
  302. kind = 7;
  303. JjCheckNAdd(45);
  304. break;
  305. case 46: 
  306. if ((0x3ff000000000000L & l) != (ulong) 0L)
  307. JjCheckNAddTwoStates(46, 47);
  308. break;
  309. case 47: 
  310. if ((0xf00000000000L & l) != (ulong) 0L)
  311. JjCheckNAddTwoStates(48, 49);
  312. break;
  313. case 48: 
  314. if ((0x3ff000000000000L & l) != (ulong) 0L)
  315. JjCheckNAddTwoStates(48, 49);
  316. break;
  317. case 49: 
  318. case 50: 
  319. if ((0x3ff000000000000L & l) != (ulong) 0L)
  320. JjCheckNAddTwoStates(50, 51);
  321. break;
  322. case 51: 
  323. if ((0xf00000000000L & l) != (ulong) 0L)
  324. JjCheckNAdd(52);
  325. break;
  326. case 52: 
  327. if ((0x3ff000000000000L & l) == (ulong) 0L)
  328. break;
  329. if (kind > 7)
  330. kind = 7;
  331. JjCheckNAddTwoStates(47, 52);
  332. break;
  333. case 53: 
  334. if ((0x3ff000000000000L & l) != (ulong) 0L)
  335. JjCheckNAddTwoStates(53, 54);
  336. break;
  337. case 54: 
  338. if ((0xf00000000000L & l) != (ulong) 0L)
  339. JjCheckNAddTwoStates(55, 56);
  340. break;
  341. case 55: 
  342. if ((0x3ff000000000000L & l) != (ulong) 0L)
  343. JjCheckNAddTwoStates(55, 56);
  344. break;
  345. case 56: 
  346. case 57: 
  347. if ((0x3ff000000000000L & l) != (ulong) 0L)
  348. JjCheckNAddTwoStates(57, 58);
  349. break;
  350. case 58: 
  351. if ((0xf00000000000L & l) != (ulong) 0L)
  352. JjCheckNAdd(59);
  353. break;
  354. case 59: 
  355. if ((0x3ff000000000000L & l) != (ulong) 0L)
  356. JjCheckNAddTwoStates(59, 60);
  357. break;
  358. case 60: 
  359. if ((0xf00000000000L & l) != (ulong) 0L)
  360. JjCheckNAddTwoStates(61, 62);
  361. break;
  362. case 61: 
  363. if ((0x3ff000000000000L & l) != (ulong) 0L)
  364. JjCheckNAddTwoStates(61, 62);
  365. break;
  366. case 62: 
  367. case 63: 
  368. if ((0x3ff000000000000L & l) == (ulong) 0L)
  369. break;
  370. if (kind > 7)
  371. kind = 7;
  372. JjCheckNAddTwoStates(58, 63);
  373. break;
  374. case 66: 
  375. if (curChar == 39)
  376. jjstateSet[jjnewStateCnt++] = 67;
  377. break;
  378. case 69: 
  379. if (curChar == 46)
  380. JjCheckNAdd(70);
  381. break;
  382. case 71: 
  383. if (curChar != 46)
  384. break;
  385. if (kind > 3)
  386. kind = 3;
  387. JjCheckNAdd(70);
  388. break;
  389. case 73: 
  390. if (curChar == 38)
  391. jjstateSet[jjnewStateCnt++] = 74;
  392. break;
  393. default:  break;
  394. }
  395. }
  396. while (i != startsAt);
  397. }
  398. else if (curChar < 128)
  399. {
  400. ulong l = ((ulong) 1L) << (curChar & 63);
  401. MatchLoop1: 
  402. do 
  403. {
  404. switch (jjstateSet[--i])
  405. {
  406. case 0: 
  407. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  408. JjCheckNAddStates(30, 35);
  409. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  410. {
  411. if (kind > 1)
  412. kind = 1;
  413. JjCheckNAddStates(0, 11);
  414. }
  415. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  416. JjCheckNAddStates(18, 23);
  417. break;
  418. case 2: 
  419. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  420. JjCheckNAddStates(18, 23);
  421. break;
  422. case 3: 
  423. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  424. JjCheckNAddTwoStates(3, 4);
  425. break;
  426. case 5: 
  427. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  428. JjAddStates(36, 37);
  429. break;
  430. case 6: 
  431. if (curChar == 95)
  432. JjCheckNAdd(7);
  433. break;
  434. case 7: 
  435. if ((0x7fffffe07fffffeL & l) == (ulong) 0L)
  436. break;
  437. if (kind > 7)
  438. kind = 7;
  439. JjCheckNAdd(7);
  440. break;
  441. case 8: 
  442. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  443. JjCheckNAddTwoStates(8, 9);
  444. break;
  445. case 10: 
  446. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  447. JjCheckNAddTwoStates(10, 11);
  448. break;
  449. case 11: 
  450. if (curChar == 95)
  451. JjCheckNAdd(12);
  452. break;
  453. case 12: 
  454. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  455. JjCheckNAddTwoStates(12, 13);
  456. break;
  457. case 13: 
  458. if (curChar == 95)
  459. JjCheckNAddTwoStates(14, 15);
  460. break;
  461. case 14: 
  462. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  463. JjCheckNAddTwoStates(14, 15);
  464. break;
  465. case 16: 
  466. if ((0x7fffffe07fffffeL & l) == (ulong) 0L)
  467. break;
  468. if (kind > 7)
  469. kind = 7;
  470. JjCheckNAddTwoStates(11, 16);
  471. break;
  472. case 17: 
  473. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  474. JjCheckNAddTwoStates(17, 18);
  475. break;
  476. case 19: 
  477. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  478. JjAddStates(38, 39);
  479. break;
  480. case 20: 
  481. if (curChar == 95)
  482. JjCheckNAdd(21);
  483. break;
  484. case 21: 
  485. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  486. JjCheckNAddTwoStates(21, 22);
  487. break;
  488. case 22: 
  489. if (curChar == 95)
  490. JjCheckNAddTwoStates(23, 24);
  491. break;
  492. case 23: 
  493. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  494. JjCheckNAddTwoStates(23, 24);
  495. break;
  496. case 25: 
  497. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  498. JjAddStates(40, 41);
  499. break;
  500. case 26: 
  501. if (curChar == 95)
  502. JjCheckNAdd(27);
  503. break;
  504. case 27: 
  505. if ((0x7fffffe07fffffeL & l) == (ulong) 0L)
  506. break;
  507. if (kind > 7)
  508. kind = 7;
  509. JjCheckNAddTwoStates(22, 27);
  510. break;
  511. case 29: 
  512. if ((0x7fffffe07fffffeL & l) == (ulong) 0L)
  513. break;
  514. if (kind > 1)
  515. kind = 1;
  516. JjCheckNAddStates(0, 11);
  517. break;
  518. case 30: 
  519. if ((0x7fffffe07fffffeL & l) == (ulong) 0L)
  520. break;
  521. if (kind > 1)
  522. kind = 1;
  523. JjCheckNAdd(30);
  524. break;
  525. case 31: 
  526. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  527. JjCheckNAddStates(24, 26);
  528. break;
  529. case 32: 
  530. if (curChar == 95)
  531. JjCheckNAdd(33);
  532. break;
  533. case 33: 
  534. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  535. JjCheckNAddStates(27, 29);
  536. break;
  537. case 34: 
  538. if (curChar == 64)
  539. JjCheckNAdd(35);
  540. break;
  541. case 35: 
  542. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  543. JjCheckNAddTwoStates(35, 36);
  544. break;
  545. case 37: 
  546. if ((0x7fffffe07fffffeL & l) == (ulong) 0L)
  547. break;
  548. if (kind > 5)
  549. kind = 5;
  550. JjCheckNAddTwoStates(36, 37);
  551. break;
  552. case 38: 
  553. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  554. JjCheckNAddTwoStates(38, 39);
  555. break;
  556. case 40: 
  557. if ((0x7fffffe07fffffeL & l) == (ulong) 0L)
  558. break;
  559. if (kind > 6)
  560. kind = 6;
  561. JjCheckNAddTwoStates(39, 40);
  562. break;
  563. case 41: 
  564. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  565. JjCheckNAddTwoStates(41, 42);
  566. break;
  567. case 42: 
  568. if (curChar == 95)
  569. JjCheckNAddTwoStates(43, 44);
  570. break;
  571. case 43: 
  572. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  573. JjCheckNAddTwoStates(43, 44);
  574. break;
  575. case 45: 
  576. if ((0x7fffffe07fffffeL & l) == (ulong) 0L)
  577. break;
  578. if (kind > 7)
  579. kind = 7;
  580. jjstateSet[jjnewStateCnt++] = 45;
  581. break;
  582. case 46: 
  583. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  584. JjCheckNAddTwoStates(46, 47);
  585. break;
  586. case 47: 
  587. if (curChar == 95)
  588. JjCheckNAddTwoStates(48, 49);
  589. break;
  590. case 48: 
  591. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  592. JjCheckNAddTwoStates(48, 49);
  593. break;
  594. case 50: 
  595. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  596. JjAddStates(42, 43);
  597. break;
  598. case 51: 
  599. if (curChar == 95)
  600. JjCheckNAdd(52);
  601. break;
  602. case 52: 
  603. if ((0x7fffffe07fffffeL & l) == (ulong) 0L)
  604. break;
  605. if (kind > 7)
  606. kind = 7;
  607. JjCheckNAddTwoStates(47, 52);
  608. break;
  609. case 53: 
  610. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  611. JjCheckNAddTwoStates(53, 54);
  612. break;
  613. case 54: 
  614. if (curChar == 95)
  615. JjCheckNAddTwoStates(55, 56);
  616. break;
  617. case 55: 
  618. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  619. JjCheckNAddTwoStates(55, 56);
  620. break;
  621. case 57: 
  622. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  623. JjCheckNAddTwoStates(57, 58);
  624. break;
  625. case 58: 
  626. if (curChar == 95)
  627. JjCheckNAdd(59);
  628. break;
  629. case 59: 
  630. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  631. JjCheckNAddTwoStates(59, 60);
  632. break;
  633. case 60: 
  634. if (curChar == 95)
  635. JjCheckNAddTwoStates(61, 62);
  636. break;
  637. case 61: 
  638. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  639. JjCheckNAddTwoStates(61, 62);
  640. break;
  641. case 63: 
  642. if ((0x7fffffe07fffffeL & l) == (ulong) 0L)
  643. break;
  644. if (kind > 7)
  645. kind = 7;
  646. JjCheckNAddTwoStates(58, 63);
  647. break;
  648. case 64: 
  649. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  650. JjCheckNAddStates(30, 35);
  651. break;
  652. case 65: 
  653. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  654. JjCheckNAddTwoStates(65, 66);
  655. break;
  656. case 67: 
  657. if ((0x7fffffe07fffffeL & l) == (ulong) 0L)
  658. break;
  659. if (kind > 2)
  660. kind = 2;
  661. JjCheckNAddTwoStates(66, 67);
  662. break;
  663. case 68: 
  664. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  665. JjCheckNAddTwoStates(68, 69);
  666. break;
  667. case 70: 
  668. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  669. JjAddStates(44, 45);
  670. break;
  671. case 72: 
  672. if ((0x7fffffe07fffffeL & l) != (ulong) 0L)
  673. JjCheckNAddTwoStates(72, 73);
  674. break;
  675. case 73: 
  676. if (curChar == 64)
  677. JjCheckNAdd(74);
  678. break;
  679. case 74: 
  680. if ((0x7fffffe07fffffeL & l) == (ulong) 0L)
  681. break;
  682. if (kind > 4)
  683. kind = 4;
  684. JjCheckNAdd(74);
  685. break;
  686. default:  break;
  687. }
  688. }
  689. while (i != startsAt);
  690. }
  691. else
  692. {
  693. int hiByte = (int) (curChar >> 8);
  694. int i1 = hiByte >> 6;
  695. ulong l1 = ((ulong) 1L) << (hiByte & 63);
  696. int i2 = (curChar & 0xff) >> 6;
  697. ulong l2 = ((ulong) 1L) << (curChar & 63);
  698. MatchLoop1: 
  699. do 
  700. {
  701. switch (jjstateSet[--i])
  702. {
  703. case 0: 
  704. if (JjCanMove_0(hiByte, i1, i2, l1, l2))
  705. {
  706. if (kind > 12)
  707. kind = 12;
  708. }
  709. if (JjCanMove_1(hiByte, i1, i2, l1, l2))
  710. {
  711. if (kind > 13)
  712. kind = 13;
  713. }
  714. if (JjCanMove_2(hiByte, i1, i2, l1, l2))
  715. JjCheckNAddStates(18, 23);
  716. if (JjCanMove_3(hiByte, i1, i2, l1, l2))
  717. JjCheckNAddStates(12, 17);
  718. if (JjCanMove_4(hiByte, i1, i2, l1, l2))
  719. {
  720. if (kind > 1)
  721. kind = 1;
  722. JjCheckNAddStates(0, 11);
  723. }
  724. if (JjCanMove_2(hiByte, i1, i2, l1, l2))
  725. JjCheckNAddStates(30, 35);
  726. break;
  727. case 1: 
  728. if (JjCanMove_1(hiByte, i1, i2, l1, l2) && kind > 13)
  729. kind = 13;
  730. break;
  731. case 2: 
  732. if (JjCanMove_2(hiByte, i1, i2, l1, l2))
  733. JjCheckNAddStates(18, 23);
  734. break;
  735. case 3: 
  736. if (JjCanMove_2(hiByte, i1, i2, l1, l2))
  737. JjCheckNAddTwoStates(3, 4);
  738. break;
  739. case 4: 
  740. if (JjCanMove_3(hiByte, i1, i2, l1, l2))
  741. JjCheckNAddTwoStates(5, 6);
  742. break;
  743. case 5: 
  744. if (JjCanMove_2(hiByte, i1, i2, l1, l2))
  745. JjCheckNAddTwoStates(5, 6);
  746. break;
  747. case 7: 
  748. if (!JjCanMove_4(hiByte, i1, i2, l1, l2))
  749. break;
  750. if (kind > 7)
  751. kind = 7;
  752. jjstateSet[jjnewStateCnt++] = 7;
  753. break;
  754. case 8: 
  755. if (JjCanMove_2(hiByte, i1, i2, l1, l2))
  756. JjCheckNAddTwoStates(8, 9);
  757. break;
  758. case 9: 
  759. if (JjCanMove_3(hiByte, i1, i2, l1, l2))
  760. JjCheckNAddTwoStates(10, 11);
  761. break;
  762. case 10: 
  763. if (JjCanMove_2(hiByte, i1, i2, l1, l2))
  764. JjCheckNAddTwoStates(10, 11);
  765. break;
  766. case 12: 
  767. if (JjCanMove_4(hiByte, i1, i2, l1, l2))
  768. JjAddStates(46, 47);
  769. break;
  770. case 14: 
  771. if (JjCanMove_2(hiByte, i1, i2, l1, l2))
  772. JjAddStates(48, 49);
  773. break;
  774. case 15: 
  775. if (!JjCanMove_3(hiByte, i1, i2, l1, l2))
  776. break;
  777. if (kind > 7)
  778. kind = 7;
  779. JjCheckNAddTwoStates(11, 16);
  780. break;
  781. case 16: 
  782. if (!JjCanMove_2(hiByte, i1, i2, l1, l2))
  783. break;
  784. if (kind > 7)
  785. kind = 7;
  786. JjCheckNAddTwoStates(11, 16);
  787. break;
  788. case 17: 
  789. if (JjCanMove_2(hiByte, i1, i2, l1, l2))
  790. JjCheckNAddTwoStates(17, 18);
  791. break;
  792. case 18: 
  793. if (JjCanMove_3(hiByte, i1, i2, l1, l2))
  794. JjCheckNAddTwoStates(19, 20);
  795. break;
  796. case 19: 
  797. if (JjCanMove_2(hiByte, i1, i2, l1, l2))
  798. JjCheckNAddTwoStates(19, 20);
  799. break;
  800. case 21: 
  801. if (JjCanMove_4(hiByte, i1, i2, l1, l2))
  802. JjCheckNAddTwoStates(21, 22);
  803. break;
  804. case 23: 
  805. if (JjCanMove_2(hiByte, i1, i2, l1, l2))
  806. JjAddStates(50, 51);
  807. break;
  808. case 24: 
  809. if (JjCanMove_3(hiByte, i1, i2, l1, l2))
  810. JjCheckNAddTwoStates(25, 26);
  811. break;
  812. case 25: 
  813. if (JjCanMove_2(hiByte, i1, i2, l1, l2))
  814. JjCheckNAddTwoStates(25, 26);
  815. break;
  816. case 27: 
  817. if (!JjCanMove_4(hiByte, i1, i2, l1, l2))
  818. break;
  819. if (kind > 7)
  820. kind = 7;
  821. JjCheckNAddTwoStates(22, 27);
  822. break;
  823. case 28: 
  824. if (JjCanMove_3(hiByte, i1, i2, l1, l2))
  825. JjCheckNAddStates(12, 17);
  826. break;
  827. case 29: 
  828. if (!JjCanMove_4(hiByte, i1, i2, l1, l2))
  829. break;
  830. if (kind > 1)
  831. kind = 1;
  832. JjCheckNAddStates(0, 11);
  833. break;
  834. case 30: 
  835. if (!JjCanMove_4(hiByte, i1, i2, l1, l2))
  836. break;
  837. if (kind > 1)
  838. kind = 1;
  839. JjCheckNAdd(30);
  840. break;
  841. case 31: 
  842. if (JjCanMove_4(hiByte, i1, i2, l1, l2))
  843. JjCheckNAddStates(24, 26);
  844. break;
  845. case 33: 
  846. if (JjCanMove_4(hiByte, i1, i2, l1, l2))
  847. JjCheckNAddStates(27, 29);
  848. break;
  849. case 35: 
  850. if (JjCanMove_4(hiByte, i1, i2, l1, l2))
  851. JjCheckNAddTwoStates(35, 36);
  852. break;
  853. case 37: 
  854. if (!JjCanMove_4(hiByte, i1, i2, l1, l2))
  855. break;
  856. if (kind > 5)
  857. kind = 5;
  858. JjCheckNAddTwoStates(36, 37);
  859. break;
  860. case 38: 
  861. if (JjCanMove_4(hiByte, i1, i2, l1, l2))
  862. JjCheckNAddTwoStates(38, 39);
  863. break;
  864. case 40: 
  865. if (!JjCanMove_4(hiByte, i1, i2, l1, l2))
  866. break;
  867. if (kind > 6)
  868. kind = 6;
  869. JjCheckNAddTwoStates(39, 40);
  870. break;
  871. case 41: 
  872. if (JjCanMove_4(hiByte, i1, i2, l1, l2))
  873. JjCheckNAddTwoStates(41, 42);
  874. break;
  875. case 43: 
  876. if (JjCanMove_2(hiByte, i1, i2, l1, l2))
  877. JjAddStates(52, 53);
  878. break;
  879. case 44: 
  880. if (!JjCanMove_3(hiByte, i1, i2, l1, l2))
  881. break;
  882. if (kind > 7)
  883. kind = 7;
  884. JjCheckNAdd(45);
  885. break;
  886. case 45: 
  887. if (!JjCanMove_2(hiByte, i1, i2, l1, l2))
  888. break;
  889. if (kind > 7)
  890. kind = 7;
  891. JjCheckNAdd(45);
  892. break;
  893. case 46: 
  894. if (JjCanMove_4(hiByte, i1, i2, l1, l2))
  895. JjCheckNAddTwoStates(46, 47);
  896. break;
  897. case 48: 
  898. if (JjCanMove_2(hiByte, i1, i2, l1, l2))
  899. JjAddStates(54, 55);
  900. break;
  901. case 49: 
  902. if (JjCanMove_3(hiByte, i1, i2, l1, l2))
  903. JjCheckNAddTwoStates(50, 51);
  904. break;
  905. case 50: 
  906. if (JjCanMove_2(hiByte, i1, i2, l1, l2))
  907. JjCheckNAddTwoStates(50, 51);
  908. break;
  909. case 52: 
  910. if (!JjCanMove_4(hiByte, i1, i2, l1, l2))
  911. break;
  912. if (kind > 7)
  913. kind = 7;
  914. JjCheckNAddTwoStates(47, 52);
  915. break;
  916. case 53: 
  917. if (JjCanMove_4(hiByte, i1, i2, l1, l2))
  918. JjCheckNAddTwoStates(53, 54);
  919. break;
  920. case 55: 
  921. if (JjCanMove_2(hiByte, i1, i2, l1, l2))
  922. JjAddStates(56, 57);
  923. break;
  924. case 56: 
  925. if (JjCanMove_3(hiByte, i1, i2, l1, l2))
  926. JjCheckNAddTwoStates(57, 58);
  927. break;
  928. case 57: 
  929. if (JjCanMove_2(hiByte, i1, i2, l1, l2))
  930. JjCheckNAddTwoStates(57, 58);
  931. break;
  932. case 59: 
  933. if (JjCanMove_4(hiByte, i1, i2, l1, l2))
  934. JjAddStates(58, 59);
  935. break;
  936. case 61: 
  937. if (JjCanMove_2(hiByte, i1, i2, l1, l2))
  938. JjAddStates(60, 61);
  939. break;
  940. case 62: 
  941. if (!JjCanMove_3(hiByte, i1, i2, l1, l2))
  942. break;
  943. if (kind > 7)
  944. kind = 7;
  945. JjCheckNAddTwoStates(58, 63);
  946. break;
  947. case 63: 
  948. if (!JjCanMove_2(hiByte, i1, i2, l1, l2))
  949. break;
  950. if (kind > 7)
  951. kind = 7;
  952. JjCheckNAddTwoStates(58, 63);
  953. break;
  954. case 64: 
  955. if (JjCanMove_2(hiByte, i1, i2, l1, l2))
  956. JjCheckNAddStates(30, 35);
  957. break;
  958. case 65: 
  959. if (JjCanMove_2(hiByte, i1, i2, l1, l2))
  960. JjCheckNAddTwoStates(65, 66);
  961. break;
  962. case 67: 
  963. if (!JjCanMove_2(hiByte, i1, i2, l1, l2))
  964. break;
  965. if (kind > 2)
  966. kind = 2;
  967. JjCheckNAddTwoStates(66, 67);
  968. break;
  969. case 68: 
  970. if (JjCanMove_2(hiByte, i1, i2, l1, l2))
  971. JjCheckNAddTwoStates(68, 69);
  972. break;
  973. case 70: 
  974. if (JjCanMove_2(hiByte, i1, i2, l1, l2))
  975. JjAddStates(44, 45);
  976. break;
  977. case 72: 
  978. if (JjCanMove_2(hiByte, i1, i2, l1, l2))
  979. JjCheckNAddTwoStates(72, 73);
  980. break;
  981. case 74: 
  982. if (!JjCanMove_2(hiByte, i1, i2, l1, l2))
  983. break;
  984. if (kind > 4)
  985. kind = 4;
  986. jjstateSet[jjnewStateCnt++] = 74;
  987. break;
  988. default:  break;
  989. }
  990. }
  991. while (i != startsAt);
  992. }
  993. if (kind != 0x7fffffff)
  994. {
  995. jjmatchedKind = kind;
  996. jjmatchedPos = curPos;
  997. kind = 0x7fffffff;
  998. }
  999. ++curPos;
  1000. if ((i = jjnewStateCnt) == (startsAt = 75 - (jjnewStateCnt = startsAt)))
  1001. return curPos;
  1002. try
  1003. {
  1004. curChar = input_stream.ReadChar();
  1005. }
  1006. catch (System.IO.IOException)
  1007. {
  1008. return curPos;
  1009. }
  1010. }
  1011. }
  1012. internal static readonly int[] jjnextStates = new int[]{30, 31, 32, 34, 38, 39, 41, 42, 46, 47, 53, 54, 5, 6, 10, 11, 19, 20, 3, 4, 8, 9, 17, 18, 31, 32, 34, 32, 33, 34, 65, 66, 68, 69, 72, 73, 5, 6, 19, 20, 25, 26, 50, 51, 70, 71, 12, 13, 14, 15, 23, 24, 43, 44, 48, 49, 55, 56, 59, 60, 61, 62};
  1013. private static bool JjCanMove_0(int hiByte, int i1, int i2, ulong l1, ulong l2)
  1014. {
  1015. switch (hiByte)
  1016. {
  1017. case 48: 
  1018. return ((jjbitVec2[i2] & l2) != (ulong) 0L);
  1019. case 49: 
  1020. return ((jjbitVec3[i2] & l2) != (ulong) 0L);
  1021. case 51: 
  1022. return ((jjbitVec4[i2] & l2) != (ulong) 0L);
  1023. case 61: 
  1024. return ((jjbitVec5[i2] & l2) != (ulong) 0L);
  1025. default: 
  1026. if ((jjbitVec0[i1] & l1) != (ulong) 0L)
  1027. return true;
  1028. return false;
  1029. }
  1030. }
  1031. private static bool JjCanMove_1(int hiByte, int i1, int i2, ulong l1, ulong l2)
  1032. {
  1033. switch (hiByte)
  1034. {
  1035. case 215: 
  1036. return ((jjbitVec7[i2] & l2) != (ulong) 0L);
  1037. default: 
  1038. if ((jjbitVec6[i1] & l1) != (ulong) 0L)
  1039. return true;
  1040. return false;
  1041. }
  1042. }
  1043. private static bool JjCanMove_2(int hiByte, int i1, int i2, ulong l1, ulong l2)
  1044. {
  1045. switch (hiByte)
  1046. {
  1047. case 0: 
  1048. return ((jjbitVec9[i2] & l2) != (ulong) 0L);
  1049. default: 
  1050. if ((jjbitVec8[i1] & l1) != (ulong) 0L)
  1051. return true;
  1052. return false;
  1053. }
  1054. }
  1055. private static bool JjCanMove_3(int hiByte, int i1, int i2, ulong l1, ulong l2)
  1056. {
  1057. switch (hiByte)
  1058. {
  1059. case 6: 
  1060. return ((jjbitVec12[i2] & l2) != (ulong) 0L);
  1061. case 11: 
  1062. return ((jjbitVec13[i2] & l2) != (ulong) 0L);
  1063. case 13: 
  1064. return ((jjbitVec14[i2] & l2) != (ulong) 0L);
  1065. case 14: 
  1066. return ((jjbitVec15[i2] & l2) != (ulong) 0L);
  1067. case 16: 
  1068. return ((jjbitVec16[i2] & l2) != (ulong) 0L);
  1069. default: 
  1070. if ((jjbitVec10[i1] & l1) != (ulong) 0L)
  1071. if ((jjbitVec11[i2] & l2) == (ulong) 0L)
  1072. return false;
  1073. else
  1074. return true;
  1075. return false;
  1076. }
  1077. }
  1078. private static bool JjCanMove_4(int hiByte, int i1, int i2, ulong l1, ulong l2)
  1079. {
  1080. switch (hiByte)
  1081. {
  1082. case 0: 
  1083. return ((jjbitVec9[i2] & l2) != (ulong) 0L);
  1084. case 215: 
  1085. return ((jjbitVec7[i2] & l2) != (ulong) 0L);
  1086. default: 
  1087. if ((jjbitVec17[i1] & l1) != (ulong) 0L)
  1088. return true;
  1089. return false;
  1090. }
  1091. }
  1092. public static readonly System.String[] jjstrLiteralImages = new System.String[]{"", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null};
  1093. public static readonly System.String[] lexStateNames = new System.String[]{"DEFAULT"};
  1094. internal static readonly long[] jjtoToken = new long[]{0x30ffL};
  1095. internal static readonly long[] jjtoSkip = new long[]{0x8000L};
  1096. protected internal CharStream input_stream;
  1097. private uint[] jjrounds = new uint[75];
  1098. private int[] jjstateSet = new int[150];
  1099. protected internal char curChar;
  1100. public StandardTokenizerTokenManager(CharStream stream)
  1101. {
  1102. InitBlock();
  1103. input_stream = stream;
  1104. }
  1105. public StandardTokenizerTokenManager(CharStream stream, int lexState) : this(stream)
  1106. {
  1107. SwitchTo(lexState);
  1108. }
  1109. public virtual void  ReInit(CharStream stream)
  1110. {
  1111. jjmatchedPos = jjnewStateCnt = 0;
  1112. curLexState = defaultLexState;
  1113. input_stream = stream;
  1114. ReInitRounds();
  1115. }
  1116. private void  ReInitRounds()
  1117. {
  1118. int i;
  1119. jjround = 0x80000001;
  1120. for (i = 75; i-- > 0; )
  1121. jjrounds[i] = 0x80000000;
  1122. }
  1123. public virtual void  ReInit(CharStream stream, int lexState)
  1124. {
  1125. ReInit(stream);
  1126. SwitchTo(lexState);
  1127. }
  1128. public virtual void  SwitchTo(int lexState)
  1129. {
  1130. if (lexState >= 1 || lexState < 0)
  1131. throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
  1132. else
  1133. curLexState = lexState;
  1134. }
  1135. protected internal virtual Token JjFillToken()
  1136. {
  1137. Token t = Token.NewToken(jjmatchedKind);
  1138. t.kind = jjmatchedKind;
  1139. System.String im = jjstrLiteralImages[jjmatchedKind];
  1140. t.image = (im == null) ? input_stream.GetImage() : im;
  1141. t.beginLine = input_stream.GetBeginLine();
  1142. t.beginColumn = input_stream.GetBeginColumn();
  1143. t.endLine = input_stream.GetEndLine();
  1144. t.endColumn = input_stream.GetEndColumn();
  1145. return t;
  1146. }
  1147. internal int curLexState = 0;
  1148. internal int defaultLexState = 0;
  1149. internal int jjnewStateCnt;
  1150. internal uint jjround;
  1151. internal int jjmatchedPos;
  1152. internal int jjmatchedKind;
  1153. public virtual Token GetNextToken()
  1154. {
  1155. int kind;
  1156. Token specialToken = null;
  1157. Token matchedToken;
  1158. int curPos = 0;
  1159. for (; ; )
  1160. {
  1161. try
  1162. {
  1163. curChar = input_stream.BeginToken();
  1164. }
  1165. catch (System.IO.IOException)
  1166. {
  1167. jjmatchedKind = 0;
  1168. matchedToken = JjFillToken();
  1169. return matchedToken;
  1170. }
  1171. jjmatchedKind = 0x7fffffff;
  1172. jjmatchedPos = 0;
  1173. curPos = JjMoveStringLiteralDfa0_0();
  1174. if (jjmatchedPos == 0 && jjmatchedKind > 15)
  1175. {
  1176. jjmatchedKind = 15;
  1177. }
  1178. if (jjmatchedKind != 0x7fffffff)
  1179. {
  1180. if (jjmatchedPos + 1 < curPos)
  1181. input_stream.Backup(curPos - jjmatchedPos - 1);
  1182. if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 63))) != 0L)
  1183. {
  1184. matchedToken = JjFillToken();
  1185. return matchedToken;
  1186. }
  1187. else
  1188. {
  1189. goto EOFLoop;
  1190. }
  1191. }
  1192. int error_line = input_stream.GetEndLine();
  1193. int error_column = input_stream.GetEndColumn();
  1194. System.String error_after = null;
  1195. bool EOFSeen = false;
  1196. try
  1197. {
  1198. input_stream.ReadChar(); input_stream.Backup(1);
  1199. }
  1200. catch (System.IO.IOException)
  1201. {
  1202. EOFSeen = true;
  1203. error_after = curPos <= 1?"":input_stream.GetImage();
  1204. if (curChar == 'n' || curChar == 'r')
  1205. {
  1206. error_line++;
  1207. error_column = 0;
  1208. }
  1209. else
  1210. error_column++;
  1211. }
  1212. if (!EOFSeen)
  1213. {
  1214. input_stream.Backup(1);
  1215. error_after = curPos <= 1?"":input_stream.GetImage();
  1216. }
  1217. throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
  1218. EOFLoop: ;
  1219. }
  1220. }
  1221. }
  1222. }