PageRenderTime 28ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 1ms

/projects/antlr-3.4/bin/SimpleCLexer.m

https://gitlab.com/essere.lab.public/qualitas.class-corpus
Objective C | 1152 lines | 701 code | 230 blank | 221 comment | 81 complexity | d3ff36132859172f60fe504ef069fc72 MD5 | raw file
  1. /** \file
  2. * This OBJC source file was generated by $ANTLR version ${project.version} ${buildNumber}
  3. *
  4. * - From the grammar source file : SimpleC.g
  5. * - On : 2011-05-06 15:09:17
  6. * - for the lexer : SimpleCLexerLexer
  7. *
  8. * Editing it, at least manually, is not wise.
  9. *
  10. * ObjC language generator and runtime by Alan Condit, acondit|hereisanat|ipns|dotgoeshere|com.
  11. *
  12. *
  13. */
  14. // $ANTLR ${project.version} ${buildNumber} SimpleC.g 2011-05-06 15:09:17
  15. /* -----------------------------------------
  16. * Include the ANTLR3 generated header file.
  17. */
  18. #import "SimpleCLexer.h"
  19. /* ----------------------------------------- */
  20. /* ============================================================================= */
  21. /* =============================================================================
  22. * Start of recognizer
  23. */
  24. /** As per Terence: No returns for lexer rules! */
  25. @implementation SimpleCLexer // line 330
  26. + (void) initialize
  27. {
  28. [ANTLRBaseRecognizer setGrammarFileName:@"SimpleC.g"];
  29. }
  30. + (NSString *) tokenNameForType:(NSInteger)aTokenType
  31. {
  32. return [[self getTokenNames] objectAtIndex:aTokenType];
  33. }
  34. + (SimpleCLexer *)newSimpleCLexerWithCharStream:(id<ANTLRCharStream>)anInput
  35. {
  36. return [[SimpleCLexer alloc] initWithCharStream:anInput];
  37. }
  38. - (id) initWithCharStream:(id<ANTLRCharStream>)anInput
  39. {
  40. self = [super initWithCharStream:anInput State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:18+1] retain]];
  41. if ( self != nil ) {
  42. }
  43. return self;
  44. }
  45. - (void) dealloc
  46. {
  47. [super dealloc];
  48. }
  49. /* ObjC Start of actions.lexer.methods */
  50. /* ObjC end of actions.lexer.methods */
  51. /* ObjC start methods() */
  52. /* ObjC end methods() */
  53. /* Start of Rules */
  54. // $ANTLR start "K_FOR"
  55. - (void) mK_FOR
  56. {
  57. //
  58. /* my ruleScopeSetUp */
  59. /* Terence's stuff */
  60. @try {
  61. NSInteger _type = K_FOR;
  62. NSInteger _channel = ANTLRTokenChannelDefault;
  63. // SimpleC.g:91:7: ( 'for' ) // ruleBlockSingleAlt
  64. // SimpleC.g:91:9: 'for' // alt
  65. {
  66. [self matchString:@"for"];
  67. }
  68. // token+rule list labels
  69. state.type = _type;
  70. state.channel = _channel;
  71. }
  72. @finally {
  73. //
  74. /* Terence's stuff */
  75. }
  76. return;
  77. }
  78. /* $ANTLR end "K_FOR" */
  79. // $ANTLR start "K_CHAR"
  80. - (void) mK_CHAR
  81. {
  82. //
  83. /* my ruleScopeSetUp */
  84. /* Terence's stuff */
  85. @try {
  86. NSInteger _type = K_CHAR;
  87. NSInteger _channel = ANTLRTokenChannelDefault;
  88. // SimpleC.g:92:7: ( 'char' ) // ruleBlockSingleAlt
  89. // SimpleC.g:92:9: 'char' // alt
  90. {
  91. [self matchString:@"char"];
  92. }
  93. // token+rule list labels
  94. state.type = _type;
  95. state.channel = _channel;
  96. }
  97. @finally {
  98. //
  99. /* Terence's stuff */
  100. }
  101. return;
  102. }
  103. /* $ANTLR end "K_CHAR" */
  104. // $ANTLR start "K_INT_TYPE"
  105. - (void) mK_INT_TYPE
  106. {
  107. //
  108. /* my ruleScopeSetUp */
  109. /* Terence's stuff */
  110. @try {
  111. NSInteger _type = K_INT_TYPE;
  112. NSInteger _channel = ANTLRTokenChannelDefault;
  113. // SimpleC.g:93:12: ( 'int' ) // ruleBlockSingleAlt
  114. // SimpleC.g:93:14: 'int' // alt
  115. {
  116. [self matchString:@"int"];
  117. }
  118. // token+rule list labels
  119. state.type = _type;
  120. state.channel = _channel;
  121. }
  122. @finally {
  123. //
  124. /* Terence's stuff */
  125. }
  126. return;
  127. }
  128. /* $ANTLR end "K_INT_TYPE" */
  129. // $ANTLR start "K_VOID"
  130. - (void) mK_VOID
  131. {
  132. //
  133. /* my ruleScopeSetUp */
  134. /* Terence's stuff */
  135. @try {
  136. NSInteger _type = K_VOID;
  137. NSInteger _channel = ANTLRTokenChannelDefault;
  138. // SimpleC.g:94:7: ( 'void' ) // ruleBlockSingleAlt
  139. // SimpleC.g:94:9: 'void' // alt
  140. {
  141. [self matchString:@"void"];
  142. }
  143. // token+rule list labels
  144. state.type = _type;
  145. state.channel = _channel;
  146. }
  147. @finally {
  148. //
  149. /* Terence's stuff */
  150. }
  151. return;
  152. }
  153. /* $ANTLR end "K_VOID" */
  154. // $ANTLR start "K_ID"
  155. - (void) mK_ID
  156. {
  157. //
  158. /* my ruleScopeSetUp */
  159. /* Terence's stuff */
  160. @try {
  161. NSInteger _type = K_ID;
  162. NSInteger _channel = ANTLRTokenChannelDefault;
  163. // SimpleC.g:96:7: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* ) // ruleBlockSingleAlt
  164. // SimpleC.g:96:11: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* // alt
  165. {
  166. if ((([input LA:1] >= 'A') && ([input LA:1] <= 'Z'))||[input LA:1] == '_'||(([input LA:1] >= 'a') && ([input LA:1] <= 'z'))) {
  167. [input consume];
  168. } else {
  169. ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input];
  170. [self recover:mse];
  171. @throw mse;
  172. }
  173. do {
  174. NSInteger alt1=2;
  175. NSInteger LA1_0 = [input LA:1];
  176. if ( ((LA1_0 >= '0' && LA1_0 <= '9')||(LA1_0 >= 'A' && LA1_0 <= 'Z')||LA1_0=='_'||(LA1_0 >= 'a' && LA1_0 <= 'z')) ) {
  177. alt1=1;
  178. }
  179. switch (alt1) {
  180. case 1 : ;
  181. // SimpleC.g: // alt
  182. {
  183. if ((([input LA:1] >= '0') && ([input LA:1] <= '9'))||(([input LA:1] >= 'A') && ([input LA:1] <= 'Z'))||[input LA:1] == '_'||(([input LA:1] >= 'a') && ([input LA:1] <= 'z'))) {
  184. [input consume];
  185. } else {
  186. ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input];
  187. [self recover:mse];
  188. @throw mse;
  189. }
  190. }
  191. break;
  192. default :
  193. goto loop1;
  194. }
  195. } while (YES);
  196. loop1: ;
  197. }
  198. // token+rule list labels
  199. state.type = _type;
  200. state.channel = _channel;
  201. }
  202. @finally {
  203. //
  204. /* Terence's stuff */
  205. }
  206. return;
  207. }
  208. /* $ANTLR end "K_ID" */
  209. // $ANTLR start "K_INT"
  210. - (void) mK_INT
  211. {
  212. //
  213. /* my ruleScopeSetUp */
  214. /* Terence's stuff */
  215. @try {
  216. NSInteger _type = K_INT;
  217. NSInteger _channel = ANTLRTokenChannelDefault;
  218. ANTLRCommonToken *anInt=nil;
  219. AMutableArray *list_anInt=nil;
  220. // SimpleC.g:99:7: ( (anInt+= ( '0' .. '9' ) )+ ) // ruleBlockSingleAlt
  221. // SimpleC.g:99:9: (anInt+= ( '0' .. '9' ) )+ // alt
  222. {
  223. // SimpleC.g:99:14: (anInt+= ( '0' .. '9' ) )+ // positiveClosureBlock
  224. NSInteger cnt2 = 0;
  225. do {
  226. NSInteger alt2 = 2;
  227. NSInteger LA2_0 = [input LA:1];
  228. if ( ((LA2_0 >= '0' && LA2_0 <= '9')) ) {
  229. alt2=1;
  230. }
  231. switch (alt2) {
  232. case 1 : ;
  233. // SimpleC.g:99:14: anInt+= ( '0' .. '9' ) // alt
  234. {
  235. anInt = [input LA:1];
  236. if ((([input LA:1] >= '0') && ([input LA:1] <= '9'))) {
  237. [input consume];
  238. } else {
  239. ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input];
  240. mse.c = anInt;
  241. [self recover:mse];
  242. @throw mse;
  243. }
  244. }
  245. break;
  246. default :
  247. if ( cnt2 >= 1 )
  248. goto loop2;
  249. ANTLREarlyExitException *eee =
  250. [ANTLREarlyExitException newException:input decisionNumber:2];
  251. @throw eee;
  252. }
  253. cnt2++;
  254. } while (YES);
  255. loop2: ;
  256. NSLog(@"%@", list_anInt);
  257. }
  258. // token+rule list labels
  259. [list_anInt release];
  260. state.type = _type;
  261. state.channel = _channel;
  262. }
  263. @finally {
  264. //
  265. /* Terence's stuff */
  266. }
  267. return;
  268. }
  269. /* $ANTLR end "K_INT" */
  270. // $ANTLR start "K_LCURVE"
  271. - (void) mK_LCURVE
  272. {
  273. //
  274. /* my ruleScopeSetUp */
  275. /* Terence's stuff */
  276. @try {
  277. NSInteger _type = K_LCURVE;
  278. NSInteger _channel = ANTLRTokenChannelDefault;
  279. // SimpleC.g:102:10: ( '(' ) // ruleBlockSingleAlt
  280. // SimpleC.g:102:12: '(' // alt
  281. {
  282. [self matchChar:'('];
  283. }
  284. // token+rule list labels
  285. state.type = _type;
  286. state.channel = _channel;
  287. }
  288. @finally {
  289. //
  290. /* Terence's stuff */
  291. }
  292. return;
  293. }
  294. /* $ANTLR end "K_LCURVE" */
  295. // $ANTLR start "K_RCURVE"
  296. - (void) mK_RCURVE
  297. {
  298. //
  299. /* my ruleScopeSetUp */
  300. /* Terence's stuff */
  301. @try {
  302. NSInteger _type = K_RCURVE;
  303. NSInteger _channel = ANTLRTokenChannelDefault;
  304. // SimpleC.g:103:10: ( ')' ) // ruleBlockSingleAlt
  305. // SimpleC.g:103:12: ')' // alt
  306. {
  307. [self matchChar:')'];
  308. }
  309. // token+rule list labels
  310. state.type = _type;
  311. state.channel = _channel;
  312. }
  313. @finally {
  314. //
  315. /* Terence's stuff */
  316. }
  317. return;
  318. }
  319. /* $ANTLR end "K_RCURVE" */
  320. // $ANTLR start "K_PLUS"
  321. - (void) mK_PLUS
  322. {
  323. //
  324. /* my ruleScopeSetUp */
  325. /* Terence's stuff */
  326. @try {
  327. NSInteger _type = K_PLUS;
  328. NSInteger _channel = ANTLRTokenChannelDefault;
  329. // SimpleC.g:104:8: ( '+' ) // ruleBlockSingleAlt
  330. // SimpleC.g:104:10: '+' // alt
  331. {
  332. [self matchChar:'+'];
  333. }
  334. // token+rule list labels
  335. state.type = _type;
  336. state.channel = _channel;
  337. }
  338. @finally {
  339. //
  340. /* Terence's stuff */
  341. }
  342. return;
  343. }
  344. /* $ANTLR end "K_PLUS" */
  345. // $ANTLR start "K_COMMA"
  346. - (void) mK_COMMA
  347. {
  348. //
  349. /* my ruleScopeSetUp */
  350. /* Terence's stuff */
  351. @try {
  352. NSInteger _type = K_COMMA;
  353. NSInteger _channel = ANTLRTokenChannelDefault;
  354. // SimpleC.g:105:9: ( ',' ) // ruleBlockSingleAlt
  355. // SimpleC.g:105:11: ',' // alt
  356. {
  357. [self matchChar:','];
  358. }
  359. // token+rule list labels
  360. state.type = _type;
  361. state.channel = _channel;
  362. }
  363. @finally {
  364. //
  365. /* Terence's stuff */
  366. }
  367. return;
  368. }
  369. /* $ANTLR end "K_COMMA" */
  370. // $ANTLR start "K_SEMICOLON"
  371. - (void) mK_SEMICOLON
  372. {
  373. //
  374. /* my ruleScopeSetUp */
  375. /* Terence's stuff */
  376. @try {
  377. NSInteger _type = K_SEMICOLON;
  378. NSInteger _channel = ANTLRTokenChannelDefault;
  379. // SimpleC.g:106:13: ( ';' ) // ruleBlockSingleAlt
  380. // SimpleC.g:106:15: ';' // alt
  381. {
  382. [self matchChar:';'];
  383. }
  384. // token+rule list labels
  385. state.type = _type;
  386. state.channel = _channel;
  387. }
  388. @finally {
  389. //
  390. /* Terence's stuff */
  391. }
  392. return;
  393. }
  394. /* $ANTLR end "K_SEMICOLON" */
  395. // $ANTLR start "K_LT"
  396. - (void) mK_LT
  397. {
  398. //
  399. /* my ruleScopeSetUp */
  400. /* Terence's stuff */
  401. @try {
  402. NSInteger _type = K_LT;
  403. NSInteger _channel = ANTLRTokenChannelDefault;
  404. // SimpleC.g:107:8: ( '<' ) // ruleBlockSingleAlt
  405. // SimpleC.g:107:10: '<' // alt
  406. {
  407. [self matchChar:'<'];
  408. }
  409. // token+rule list labels
  410. state.type = _type;
  411. state.channel = _channel;
  412. }
  413. @finally {
  414. //
  415. /* Terence's stuff */
  416. }
  417. return;
  418. }
  419. /* $ANTLR end "K_LT" */
  420. // $ANTLR start "K_EQ"
  421. - (void) mK_EQ
  422. {
  423. //
  424. /* my ruleScopeSetUp */
  425. /* Terence's stuff */
  426. @try {
  427. NSInteger _type = K_EQ;
  428. NSInteger _channel = ANTLRTokenChannelDefault;
  429. // SimpleC.g:108:8: ( '=' ) // ruleBlockSingleAlt
  430. // SimpleC.g:108:10: '=' // alt
  431. {
  432. [self matchChar:'='];
  433. }
  434. // token+rule list labels
  435. state.type = _type;
  436. state.channel = _channel;
  437. }
  438. @finally {
  439. //
  440. /* Terence's stuff */
  441. }
  442. return;
  443. }
  444. /* $ANTLR end "K_EQ" */
  445. // $ANTLR start "K_EQEQ"
  446. - (void) mK_EQEQ
  447. {
  448. //
  449. /* my ruleScopeSetUp */
  450. /* Terence's stuff */
  451. @try {
  452. NSInteger _type = K_EQEQ;
  453. NSInteger _channel = ANTLRTokenChannelDefault;
  454. // SimpleC.g:109:8: ( '==' ) // ruleBlockSingleAlt
  455. // SimpleC.g:109:10: '==' // alt
  456. {
  457. [self matchString:@"=="];
  458. }
  459. // token+rule list labels
  460. state.type = _type;
  461. state.channel = _channel;
  462. }
  463. @finally {
  464. //
  465. /* Terence's stuff */
  466. }
  467. return;
  468. }
  469. /* $ANTLR end "K_EQEQ" */
  470. // $ANTLR start "K_LCURLY"
  471. - (void) mK_LCURLY
  472. {
  473. //
  474. /* my ruleScopeSetUp */
  475. /* Terence's stuff */
  476. @try {
  477. NSInteger _type = K_LCURLY;
  478. NSInteger _channel = ANTLRTokenChannelDefault;
  479. // SimpleC.g:110:10: ( '{' ) // ruleBlockSingleAlt
  480. // SimpleC.g:110:12: '{' // alt
  481. {
  482. [self matchChar:'{'];
  483. }
  484. // token+rule list labels
  485. state.type = _type;
  486. state.channel = _channel;
  487. }
  488. @finally {
  489. //
  490. /* Terence's stuff */
  491. }
  492. return;
  493. }
  494. /* $ANTLR end "K_LCURLY" */
  495. // $ANTLR start "K_RCURLY"
  496. - (void) mK_RCURLY
  497. {
  498. //
  499. /* my ruleScopeSetUp */
  500. /* Terence's stuff */
  501. @try {
  502. NSInteger _type = K_RCURLY;
  503. NSInteger _channel = ANTLRTokenChannelDefault;
  504. // SimpleC.g:111:10: ( '}' ) // ruleBlockSingleAlt
  505. // SimpleC.g:111:12: '}' // alt
  506. {
  507. [self matchChar:'}'];
  508. }
  509. // token+rule list labels
  510. state.type = _type;
  511. state.channel = _channel;
  512. }
  513. @finally {
  514. //
  515. /* Terence's stuff */
  516. }
  517. return;
  518. }
  519. /* $ANTLR end "K_RCURLY" */
  520. // $ANTLR start "WS"
  521. - (void) mWS
  522. {
  523. //
  524. /* my ruleScopeSetUp */
  525. /* Terence's stuff */
  526. @try {
  527. NSInteger _type = WS;
  528. NSInteger _channel = ANTLRTokenChannelDefault;
  529. // SimpleC.g:113:5: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) // ruleBlockSingleAlt
  530. // SimpleC.g:113:9: ( ' ' | '\\t' | '\\r' | '\\n' )+ // alt
  531. {
  532. // SimpleC.g:113:9: ( ' ' | '\\t' | '\\r' | '\\n' )+ // positiveClosureBlock
  533. NSInteger cnt3 = 0;
  534. do {
  535. NSInteger alt3 = 2;
  536. NSInteger LA3_0 = [input LA:1];
  537. if ( ((LA3_0 >= '\t' && LA3_0 <= '\n')||LA3_0=='\r'||LA3_0==' ') ) {
  538. alt3=1;
  539. }
  540. switch (alt3) {
  541. case 1 : ;
  542. // SimpleC.g: // alt
  543. {
  544. if ((([input LA:1] >= '\t') && ([input LA:1] <= '\n'))||[input LA:1] == '\r'||[input LA:1] == ' ') {
  545. [input consume];
  546. } else {
  547. ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input];
  548. [self recover:mse];
  549. @throw mse;
  550. }
  551. }
  552. break;
  553. default :
  554. if ( cnt3 >= 1 )
  555. goto loop3;
  556. ANTLREarlyExitException *eee =
  557. [ANTLREarlyExitException newException:input decisionNumber:3];
  558. @throw eee;
  559. }
  560. cnt3++;
  561. } while (YES);
  562. loop3: ;
  563. _channel=HIDDEN;
  564. }
  565. // token+rule list labels
  566. state.type = _type;
  567. state.channel = _channel;
  568. }
  569. @finally {
  570. //
  571. /* Terence's stuff */
  572. }
  573. return;
  574. }
  575. /* $ANTLR end "WS" */
  576. - (void) mTokens
  577. {
  578. // SimpleC.g:1:8: ( K_FOR | K_CHAR | K_INT_TYPE | K_VOID | K_ID | K_INT | K_LCURVE | K_RCURVE | K_PLUS | K_COMMA | K_SEMICOLON | K_LT | K_EQ | K_EQEQ | K_LCURLY | K_RCURLY | WS ) //ruleblock
  579. NSInteger alt4=17;
  580. unichar charLA4 = [input LA:1];
  581. switch (charLA4) {
  582. case 'f': ;
  583. {
  584. NSInteger LA4_1 = [input LA:2];
  585. if ( (LA4_1=='o') ) {
  586. NSInteger LA4_17 = [input LA:3];
  587. if ( (LA4_17=='r') ) {
  588. NSInteger LA4_23 = [input LA:4];
  589. if ( ((LA4_23 >= '0' && LA4_23 <= '9')||(LA4_23 >= 'A' && LA4_23 <= 'Z')||LA4_23=='_'||(LA4_23 >= 'a' && LA4_23 <= 'z')) ) {
  590. alt4=5;
  591. }
  592. else {
  593. alt4 = 1;
  594. }
  595. }
  596. else {
  597. alt4 = 5;
  598. }
  599. }
  600. else {
  601. alt4 = 5;
  602. }
  603. }
  604. break;
  605. case 'c': ;
  606. {
  607. NSInteger LA4_2 = [input LA:2];
  608. if ( (LA4_2=='h') ) {
  609. NSInteger LA4_18 = [input LA:3];
  610. if ( (LA4_18=='a') ) {
  611. NSInteger LA4_24 = [input LA:4];
  612. if ( (LA4_24=='r') ) {
  613. NSInteger LA4_28 = [input LA:5];
  614. if ( ((LA4_28 >= '0' && LA4_28 <= '9')||(LA4_28 >= 'A' && LA4_28 <= 'Z')||LA4_28=='_'||(LA4_28 >= 'a' && LA4_28 <= 'z')) ) {
  615. alt4=5;
  616. }
  617. else {
  618. alt4 = 2;
  619. }
  620. }
  621. else {
  622. alt4 = 5;
  623. }
  624. }
  625. else {
  626. alt4 = 5;
  627. }
  628. }
  629. else {
  630. alt4 = 5;
  631. }
  632. }
  633. break;
  634. case 'i': ;
  635. {
  636. NSInteger LA4_3 = [input LA:2];
  637. if ( (LA4_3=='n') ) {
  638. NSInteger LA4_19 = [input LA:3];
  639. if ( (LA4_19=='t') ) {
  640. NSInteger LA4_25 = [input LA:4];
  641. if ( ((LA4_25 >= '0' && LA4_25 <= '9')||(LA4_25 >= 'A' && LA4_25 <= 'Z')||LA4_25=='_'||(LA4_25 >= 'a' && LA4_25 <= 'z')) ) {
  642. alt4=5;
  643. }
  644. else {
  645. alt4 = 3;
  646. }
  647. }
  648. else {
  649. alt4 = 5;
  650. }
  651. }
  652. else {
  653. alt4 = 5;
  654. }
  655. }
  656. break;
  657. case 'v': ;
  658. {
  659. NSInteger LA4_4 = [input LA:2];
  660. if ( (LA4_4=='o') ) {
  661. NSInteger LA4_20 = [input LA:3];
  662. if ( (LA4_20=='i') ) {
  663. NSInteger LA4_26 = [input LA:4];
  664. if ( (LA4_26=='d') ) {
  665. NSInteger LA4_30 = [input LA:5];
  666. if ( ((LA4_30 >= '0' && LA4_30 <= '9')||(LA4_30 >= 'A' && LA4_30 <= 'Z')||LA4_30=='_'||(LA4_30 >= 'a' && LA4_30 <= 'z')) ) {
  667. alt4=5;
  668. }
  669. else {
  670. alt4 = 4;
  671. }
  672. }
  673. else {
  674. alt4 = 5;
  675. }
  676. }
  677. else {
  678. alt4 = 5;
  679. }
  680. }
  681. else {
  682. alt4 = 5;
  683. }
  684. }
  685. break;
  686. case 'A': ;
  687. case 'B': ;
  688. case 'C': ;
  689. case 'D': ;
  690. case 'E': ;
  691. case 'F': ;
  692. case 'G': ;
  693. case 'H': ;
  694. case 'I': ;
  695. case 'J': ;
  696. case 'K': ;
  697. case 'L': ;
  698. case 'M': ;
  699. case 'N': ;
  700. case 'O': ;
  701. case 'P': ;
  702. case 'Q': ;
  703. case 'R': ;
  704. case 'S': ;
  705. case 'T': ;
  706. case 'U': ;
  707. case 'V': ;
  708. case 'W': ;
  709. case 'X': ;
  710. case 'Y': ;
  711. case 'Z': ;
  712. case '_': ;
  713. case 'a': ;
  714. case 'b': ;
  715. case 'd': ;
  716. case 'e': ;
  717. case 'g': ;
  718. case 'h': ;
  719. case 'j': ;
  720. case 'k': ;
  721. case 'l': ;
  722. case 'm': ;
  723. case 'n': ;
  724. case 'o': ;
  725. case 'p': ;
  726. case 'q': ;
  727. case 'r': ;
  728. case 's': ;
  729. case 't': ;
  730. case 'u': ;
  731. case 'w': ;
  732. case 'x': ;
  733. case 'y': ;
  734. case 'z': ;
  735. {
  736. alt4=5;
  737. }
  738. break;
  739. case '0': ;
  740. case '1': ;
  741. case '2': ;
  742. case '3': ;
  743. case '4': ;
  744. case '5': ;
  745. case '6': ;
  746. case '7': ;
  747. case '8': ;
  748. case '9': ;
  749. {
  750. alt4=6;
  751. }
  752. break;
  753. case '(': ;
  754. {
  755. alt4=7;
  756. }
  757. break;
  758. case ')': ;
  759. {
  760. alt4=8;
  761. }
  762. break;
  763. case '+': ;
  764. {
  765. alt4=9;
  766. }
  767. break;
  768. case ',': ;
  769. {
  770. alt4=10;
  771. }
  772. break;
  773. case ';': ;
  774. {
  775. alt4=11;
  776. }
  777. break;
  778. case '<': ;
  779. {
  780. alt4=12;
  781. }
  782. break;
  783. case '=': ;
  784. {
  785. NSInteger LA4_13 = [input LA:2];
  786. if ( (LA4_13=='=') ) {
  787. alt4=14;
  788. }
  789. else {
  790. alt4 = 13;
  791. }
  792. }
  793. break;
  794. case '{': ;
  795. {
  796. alt4=15;
  797. }
  798. break;
  799. case '}': ;
  800. {
  801. alt4=16;
  802. }
  803. break;
  804. case '\t': ;
  805. case '\n': ;
  806. case '\r': ;
  807. case ' ': ;
  808. {
  809. alt4=17;
  810. }
  811. break;
  812. default: ;
  813. ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:4 state:0 stream:input];
  814. nvae.c = charLA4;
  815. @throw nvae;
  816. }
  817. switch (alt4) {
  818. case 1 : ;
  819. // SimpleC.g:1:10: K_FOR // alt
  820. {
  821. [self mK_FOR];
  822. }
  823. break;
  824. case 2 : ;
  825. // SimpleC.g:1:16: K_CHAR // alt
  826. {
  827. [self mK_CHAR];
  828. }
  829. break;
  830. case 3 : ;
  831. // SimpleC.g:1:23: K_INT_TYPE // alt
  832. {
  833. [self mK_INT_TYPE];
  834. }
  835. break;
  836. case 4 : ;
  837. // SimpleC.g:1:34: K_VOID // alt
  838. {
  839. [self mK_VOID];
  840. }
  841. break;
  842. case 5 : ;
  843. // SimpleC.g:1:41: K_ID // alt
  844. {
  845. [self mK_ID];
  846. }
  847. break;
  848. case 6 : ;
  849. // SimpleC.g:1:46: K_INT // alt
  850. {
  851. [self mK_INT];
  852. }
  853. break;
  854. case 7 : ;
  855. // SimpleC.g:1:52: K_LCURVE // alt
  856. {
  857. [self mK_LCURVE];
  858. }
  859. break;
  860. case 8 : ;
  861. // SimpleC.g:1:61: K_RCURVE // alt
  862. {
  863. [self mK_RCURVE];
  864. }
  865. break;
  866. case 9 : ;
  867. // SimpleC.g:1:70: K_PLUS // alt
  868. {
  869. [self mK_PLUS];
  870. }
  871. break;
  872. case 10 : ;
  873. // SimpleC.g:1:77: K_COMMA // alt
  874. {
  875. [self mK_COMMA];
  876. }
  877. break;
  878. case 11 : ;
  879. // SimpleC.g:1:85: K_SEMICOLON // alt
  880. {
  881. [self mK_SEMICOLON];
  882. }
  883. break;
  884. case 12 : ;
  885. // SimpleC.g:1:97: K_LT // alt
  886. {
  887. [self mK_LT];
  888. }
  889. break;
  890. case 13 : ;
  891. // SimpleC.g:1:102: K_EQ // alt
  892. {
  893. [self mK_EQ];
  894. }
  895. break;
  896. case 14 : ;
  897. // SimpleC.g:1:107: K_EQEQ // alt
  898. {
  899. [self mK_EQEQ];
  900. }
  901. break;
  902. case 15 : ;
  903. // SimpleC.g:1:114: K_LCURLY // alt
  904. {
  905. [self mK_LCURLY];
  906. }
  907. break;
  908. case 16 : ;
  909. // SimpleC.g:1:123: K_RCURLY // alt
  910. {
  911. [self mK_RCURLY];
  912. }
  913. break;
  914. case 17 : ;
  915. // SimpleC.g:1:132: WS // alt
  916. {
  917. [self mWS];
  918. }
  919. break;
  920. }
  921. }
  922. @end /* end of SimpleCLexer implementation line 397 */