PageRenderTime 46ms CodeModel.GetById 15ms RepoModel.GetById 1ms app.codeStats 0ms

/projects/antlr-3.4/runtime/ObjC/Framework/examples/scopes/SymbolTableLexer.m

https://gitlab.com/essere.lab.public/qualitas.class-corpus
Objective C | 799 lines | 487 code | 156 blank | 156 comment | 49 complexity | d8a9912d27e58c7194dc8b7416d109d1 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 : SymbolTable.g
  5. * - On : 2011-05-06 15:04:43
  6. * - for the lexer : SymbolTableLexerLexer
  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} SymbolTable.g 2011-05-06 15:04:43
  15. /* -----------------------------------------
  16. * Include the ANTLR3 generated header file.
  17. */
  18. #import "SymbolTableLexer.h"
  19. /* ----------------------------------------- */
  20. /* ============================================================================= */
  21. /* =============================================================================
  22. * Start of recognizer
  23. */
  24. /** As per Terence: No returns for lexer rules! */
  25. @implementation SymbolTableLexer // line 330
  26. + (void) initialize
  27. {
  28. [ANTLRBaseRecognizer setGrammarFileName:@"SymbolTable.g"];
  29. }
  30. + (NSString *) tokenNameForType:(NSInteger)aTokenType
  31. {
  32. return [[self getTokenNames] objectAtIndex:aTokenType];
  33. }
  34. + (SymbolTableLexer *)newSymbolTableLexerWithCharStream:(id<ANTLRCharStream>)anInput
  35. {
  36. return [[SymbolTableLexer alloc] initWithCharStream:anInput];
  37. }
  38. - (id) initWithCharStream:(id<ANTLRCharStream>)anInput
  39. {
  40. self = [super initWithCharStream:anInput State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:12+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. // SymbolTable.g:7:6: ( '(' ) // ruleBlockSingleAlt
  64. // SymbolTable.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. /* Terence's stuff */
  75. }
  76. return;
  77. }
  78. /* $ANTLR end "T__7" */
  79. // $ANTLR start "T__8"
  80. - (void) mT__8
  81. {
  82. //
  83. /* my ruleScopeSetUp */
  84. /* Terence's stuff */
  85. @try {
  86. NSInteger _type = T__8;
  87. NSInteger _channel = ANTLRTokenChannelDefault;
  88. // SymbolTable.g:8:6: ( ')' ) // ruleBlockSingleAlt
  89. // SymbolTable.g:8:8: ')' // alt
  90. {
  91. [self matchChar:')'];
  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 "T__8" */
  104. // $ANTLR start "T__9"
  105. - (void) mT__9
  106. {
  107. //
  108. /* my ruleScopeSetUp */
  109. /* Terence's stuff */
  110. @try {
  111. NSInteger _type = T__9;
  112. NSInteger _channel = ANTLRTokenChannelDefault;
  113. // SymbolTable.g:9:6: ( ';' ) // ruleBlockSingleAlt
  114. // SymbolTable.g:9:8: ';' // alt
  115. {
  116. [self matchChar:';'];
  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 "T__9" */
  129. // $ANTLR start "T__10"
  130. - (void) mT__10
  131. {
  132. //
  133. /* my ruleScopeSetUp */
  134. /* Terence's stuff */
  135. @try {
  136. NSInteger _type = T__10;
  137. NSInteger _channel = ANTLRTokenChannelDefault;
  138. // SymbolTable.g:10:7: ( '=' ) // ruleBlockSingleAlt
  139. // SymbolTable.g:10:9: '=' // alt
  140. {
  141. [self matchChar:'='];
  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 "T__10" */
  154. // $ANTLR start "T__11"
  155. - (void) mT__11
  156. {
  157. //
  158. /* my ruleScopeSetUp */
  159. /* Terence's stuff */
  160. @try {
  161. NSInteger _type = T__11;
  162. NSInteger _channel = ANTLRTokenChannelDefault;
  163. // SymbolTable.g:11:7: ( 'int' ) // ruleBlockSingleAlt
  164. // SymbolTable.g:11:9: 'int' // alt
  165. {
  166. [self matchString:@"int"];
  167. }
  168. // token+rule list labels
  169. state.type = _type;
  170. state.channel = _channel;
  171. }
  172. @finally {
  173. //
  174. /* Terence's stuff */
  175. }
  176. return;
  177. }
  178. /* $ANTLR end "T__11" */
  179. // $ANTLR start "T__12"
  180. - (void) mT__12
  181. {
  182. //
  183. /* my ruleScopeSetUp */
  184. /* Terence's stuff */
  185. @try {
  186. NSInteger _type = T__12;
  187. NSInteger _channel = ANTLRTokenChannelDefault;
  188. // SymbolTable.g:12:7: ( 'method' ) // ruleBlockSingleAlt
  189. // SymbolTable.g:12:9: 'method' // alt
  190. {
  191. [self matchString:@"method"];
  192. }
  193. // token+rule list labels
  194. state.type = _type;
  195. state.channel = _channel;
  196. }
  197. @finally {
  198. //
  199. /* Terence's stuff */
  200. }
  201. return;
  202. }
  203. /* $ANTLR end "T__12" */
  204. // $ANTLR start "T__13"
  205. - (void) mT__13
  206. {
  207. //
  208. /* my ruleScopeSetUp */
  209. /* Terence's stuff */
  210. @try {
  211. NSInteger _type = T__13;
  212. NSInteger _channel = ANTLRTokenChannelDefault;
  213. // SymbolTable.g:13:7: ( '{' ) // ruleBlockSingleAlt
  214. // SymbolTable.g:13:9: '{' // alt
  215. {
  216. [self matchChar:'{'];
  217. }
  218. // token+rule list labels
  219. state.type = _type;
  220. state.channel = _channel;
  221. }
  222. @finally {
  223. //
  224. /* Terence's stuff */
  225. }
  226. return;
  227. }
  228. /* $ANTLR end "T__13" */
  229. // $ANTLR start "T__14"
  230. - (void) mT__14
  231. {
  232. //
  233. /* my ruleScopeSetUp */
  234. /* Terence's stuff */
  235. @try {
  236. NSInteger _type = T__14;
  237. NSInteger _channel = ANTLRTokenChannelDefault;
  238. // SymbolTable.g:14:7: ( '}' ) // ruleBlockSingleAlt
  239. // SymbolTable.g:14:9: '}' // alt
  240. {
  241. [self matchChar:'}'];
  242. }
  243. // token+rule list labels
  244. state.type = _type;
  245. state.channel = _channel;
  246. }
  247. @finally {
  248. //
  249. /* Terence's stuff */
  250. }
  251. return;
  252. }
  253. /* $ANTLR end "T__14" */
  254. // $ANTLR start "ID"
  255. - (void) mID
  256. {
  257. //
  258. /* my ruleScopeSetUp */
  259. /* Terence's stuff */
  260. @try {
  261. NSInteger _type = ID;
  262. NSInteger _channel = ANTLRTokenChannelDefault;
  263. // SymbolTable.g:68:5: ( ( 'a' .. 'z' )+ ) // ruleBlockSingleAlt
  264. // SymbolTable.g:68:9: ( 'a' .. 'z' )+ // alt
  265. {
  266. // SymbolTable.g:68:9: ( 'a' .. 'z' )+ // positiveClosureBlock
  267. NSInteger cnt1 = 0;
  268. do {
  269. NSInteger alt1 = 2;
  270. NSInteger LA1_0 = [input LA:1];
  271. if ( ((LA1_0 >= 'a' && LA1_0 <= 'z')) ) {
  272. alt1=1;
  273. }
  274. switch (alt1) {
  275. case 1 : ;
  276. // SymbolTable.g: // alt
  277. {
  278. if ((([input LA:1] >= 'a') && ([input LA:1] <= 'z'))) {
  279. [input consume];
  280. } else {
  281. ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input];
  282. [self recover:mse];
  283. @throw mse;
  284. }
  285. }
  286. break;
  287. default :
  288. if ( cnt1 >= 1 )
  289. goto loop1;
  290. ANTLREarlyExitException *eee =
  291. [ANTLREarlyExitException newException:input decisionNumber:1];
  292. @throw eee;
  293. }
  294. cnt1++;
  295. } while (YES);
  296. loop1: ;
  297. }
  298. // token+rule list labels
  299. state.type = _type;
  300. state.channel = _channel;
  301. }
  302. @finally {
  303. //
  304. /* Terence's stuff */
  305. }
  306. return;
  307. }
  308. /* $ANTLR end "ID" */
  309. // $ANTLR start "INT"
  310. - (void) mINT
  311. {
  312. //
  313. /* my ruleScopeSetUp */
  314. /* Terence's stuff */
  315. @try {
  316. NSInteger _type = INT;
  317. NSInteger _channel = ANTLRTokenChannelDefault;
  318. // SymbolTable.g:71:5: ( ( '0' .. '9' )+ ) // ruleBlockSingleAlt
  319. // SymbolTable.g:71:9: ( '0' .. '9' )+ // alt
  320. {
  321. // SymbolTable.g:71:9: ( '0' .. '9' )+ // positiveClosureBlock
  322. NSInteger cnt2 = 0;
  323. do {
  324. NSInteger alt2 = 2;
  325. NSInteger LA2_0 = [input LA:1];
  326. if ( ((LA2_0 >= '0' && LA2_0 <= '9')) ) {
  327. alt2=1;
  328. }
  329. switch (alt2) {
  330. case 1 : ;
  331. // SymbolTable.g: // alt
  332. {
  333. if ((([input LA:1] >= '0') && ([input LA:1] <= '9'))) {
  334. [input consume];
  335. } else {
  336. ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input];
  337. [self recover:mse];
  338. @throw mse;
  339. }
  340. }
  341. break;
  342. default :
  343. if ( cnt2 >= 1 )
  344. goto loop2;
  345. ANTLREarlyExitException *eee =
  346. [ANTLREarlyExitException newException:input decisionNumber:2];
  347. @throw eee;
  348. }
  349. cnt2++;
  350. } while (YES);
  351. loop2: ;
  352. }
  353. // token+rule list labels
  354. state.type = _type;
  355. state.channel = _channel;
  356. }
  357. @finally {
  358. //
  359. /* Terence's stuff */
  360. }
  361. return;
  362. }
  363. /* $ANTLR end "INT" */
  364. // $ANTLR start "WS"
  365. - (void) mWS
  366. {
  367. //
  368. /* my ruleScopeSetUp */
  369. /* Terence's stuff */
  370. @try {
  371. NSInteger _type = WS;
  372. NSInteger _channel = ANTLRTokenChannelDefault;
  373. // SymbolTable.g:74:5: ( ( ' ' | '\\n' | '\\r' )+ ) // ruleBlockSingleAlt
  374. // SymbolTable.g:74:9: ( ' ' | '\\n' | '\\r' )+ // alt
  375. {
  376. // SymbolTable.g:74:9: ( ' ' | '\\n' | '\\r' )+ // positiveClosureBlock
  377. NSInteger cnt3 = 0;
  378. do {
  379. NSInteger alt3 = 2;
  380. NSInteger LA3_0 = [input LA:1];
  381. if ( (LA3_0=='\n'||LA3_0=='\r'||LA3_0==' ') ) {
  382. alt3=1;
  383. }
  384. switch (alt3) {
  385. case 1 : ;
  386. // SymbolTable.g: // alt
  387. {
  388. if ([input LA:1] == '\n'||[input LA:1] == '\r'||[input LA:1] == ' ') {
  389. [input consume];
  390. } else {
  391. ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input];
  392. [self recover:mse];
  393. @throw mse;
  394. }
  395. }
  396. break;
  397. default :
  398. if ( cnt3 >= 1 )
  399. goto loop3;
  400. ANTLREarlyExitException *eee =
  401. [ANTLREarlyExitException newException:input decisionNumber:3];
  402. @throw eee;
  403. }
  404. cnt3++;
  405. } while (YES);
  406. loop3: ;
  407. _channel=HIDDEN;
  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 "WS" */
  420. - (void) mTokens
  421. {
  422. // SymbolTable.g:1:8: ( T__7 | T__8 | T__9 | T__10 | T__11 | T__12 | T__13 | T__14 | ID | INT | WS ) //ruleblock
  423. NSInteger alt4=11;
  424. unichar charLA4 = [input LA:1];
  425. switch (charLA4) {
  426. case '(': ;
  427. {
  428. alt4=1;
  429. }
  430. break;
  431. case ')': ;
  432. {
  433. alt4=2;
  434. }
  435. break;
  436. case ';': ;
  437. {
  438. alt4=3;
  439. }
  440. break;
  441. case '=': ;
  442. {
  443. alt4=4;
  444. }
  445. break;
  446. case 'i': ;
  447. {
  448. NSInteger LA4_5 = [input LA:2];
  449. if ( (LA4_5=='n') ) {
  450. NSInteger LA4_12 = [input LA:3];
  451. if ( (LA4_12=='t') ) {
  452. NSInteger LA4_14 = [input LA:4];
  453. if ( ((LA4_14 >= 'a' && LA4_14 <= 'z')) ) {
  454. alt4=9;
  455. }
  456. else {
  457. alt4 = 5;
  458. }
  459. }
  460. else {
  461. alt4 = 9;
  462. }
  463. }
  464. else {
  465. alt4 = 9;
  466. }
  467. }
  468. break;
  469. case 'm': ;
  470. {
  471. NSInteger LA4_6 = [input LA:2];
  472. if ( (LA4_6=='e') ) {
  473. NSInteger LA4_13 = [input LA:3];
  474. if ( (LA4_13=='t') ) {
  475. NSInteger LA4_15 = [input LA:4];
  476. if ( (LA4_15=='h') ) {
  477. NSInteger LA4_17 = [input LA:5];
  478. if ( (LA4_17=='o') ) {
  479. NSInteger LA4_18 = [input LA:6];
  480. if ( (LA4_18=='d') ) {
  481. NSInteger LA4_19 = [input LA:7];
  482. if ( ((LA4_19 >= 'a' && LA4_19 <= 'z')) ) {
  483. alt4=9;
  484. }
  485. else {
  486. alt4 = 6;
  487. }
  488. }
  489. else {
  490. alt4 = 9;
  491. }
  492. }
  493. else {
  494. alt4 = 9;
  495. }
  496. }
  497. else {
  498. alt4 = 9;
  499. }
  500. }
  501. else {
  502. alt4 = 9;
  503. }
  504. }
  505. else {
  506. alt4 = 9;
  507. }
  508. }
  509. break;
  510. case '{': ;
  511. {
  512. alt4=7;
  513. }
  514. break;
  515. case '}': ;
  516. {
  517. alt4=8;
  518. }
  519. break;
  520. case 'a': ;
  521. case 'b': ;
  522. case 'c': ;
  523. case 'd': ;
  524. case 'e': ;
  525. case 'f': ;
  526. case 'g': ;
  527. case 'h': ;
  528. case 'j': ;
  529. case 'k': ;
  530. case 'l': ;
  531. case 'n': ;
  532. case 'o': ;
  533. case 'p': ;
  534. case 'q': ;
  535. case 'r': ;
  536. case 's': ;
  537. case 't': ;
  538. case 'u': ;
  539. case 'v': ;
  540. case 'w': ;
  541. case 'x': ;
  542. case 'y': ;
  543. case 'z': ;
  544. {
  545. alt4=9;
  546. }
  547. break;
  548. case '0': ;
  549. case '1': ;
  550. case '2': ;
  551. case '3': ;
  552. case '4': ;
  553. case '5': ;
  554. case '6': ;
  555. case '7': ;
  556. case '8': ;
  557. case '9': ;
  558. {
  559. alt4=10;
  560. }
  561. break;
  562. case '\n': ;
  563. case '\r': ;
  564. case ' ': ;
  565. {
  566. alt4=11;
  567. }
  568. break;
  569. default: ;
  570. ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:4 state:0 stream:input];
  571. nvae.c = charLA4;
  572. @throw nvae;
  573. }
  574. switch (alt4) {
  575. case 1 : ;
  576. // SymbolTable.g:1:10: T__7 // alt
  577. {
  578. [self mT__7];
  579. }
  580. break;
  581. case 2 : ;
  582. // SymbolTable.g:1:15: T__8 // alt
  583. {
  584. [self mT__8];
  585. }
  586. break;
  587. case 3 : ;
  588. // SymbolTable.g:1:20: T__9 // alt
  589. {
  590. [self mT__9];
  591. }
  592. break;
  593. case 4 : ;
  594. // SymbolTable.g:1:25: T__10 // alt
  595. {
  596. [self mT__10];
  597. }
  598. break;
  599. case 5 : ;
  600. // SymbolTable.g:1:31: T__11 // alt
  601. {
  602. [self mT__11];
  603. }
  604. break;
  605. case 6 : ;
  606. // SymbolTable.g:1:37: T__12 // alt
  607. {
  608. [self mT__12];
  609. }
  610. break;
  611. case 7 : ;
  612. // SymbolTable.g:1:43: T__13 // alt
  613. {
  614. [self mT__13];
  615. }
  616. break;
  617. case 8 : ;
  618. // SymbolTable.g:1:49: T__14 // alt
  619. {
  620. [self mT__14];
  621. }
  622. break;
  623. case 9 : ;
  624. // SymbolTable.g:1:55: ID // alt
  625. {
  626. [self mID];
  627. }
  628. break;
  629. case 10 : ;
  630. // SymbolTable.g:1:58: INT // alt
  631. {
  632. [self mINT];
  633. }
  634. break;
  635. case 11 : ;
  636. // SymbolTable.g:1:62: WS // alt
  637. {
  638. [self mWS];
  639. }
  640. break;
  641. }
  642. }
  643. @end /* end of SymbolTableLexer implementation line 397 */