PageRenderTime 55ms CodeModel.GetById 24ms RepoModel.GetById 0ms app.codeStats 1ms

/projects/antlr-3.4/runtime/ObjC/Framework/examples/LL-star/SimpleCLexer.m

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