PageRenderTime 51ms CodeModel.GetById 21ms RepoModel.GetById 1ms app.codeStats 0ms

/antlr-3.4/runtime/CSharp3/Sources/Antlr3.Runtime.Test/BuildOptions/ProfileTreeGrammar.cs

https://bitbucket.org/cyanogenmod/android_external_antlr
C# | 850 lines | 654 code | 153 blank | 43 comment | 36 complexity | 581876cee93bab5caf3f8dfe509d1820 MD5 | raw file
  1. // $ANTLR 3.1.2 BuildOptions\\ProfileTreeGrammar.g3 2009-09-30 13:18:19
  2. // The variable 'variable' is assigned but its value is never used.
  3. #pragma warning disable 219
  4. // Unreachable code detected.
  5. #pragma warning disable 162
  6. //import java.util.Map;
  7. //import java.util.HashMap;
  8. using BigInteger = java.math.BigInteger;
  9. using Console = System.Console;
  10. using System.Collections.Generic;
  11. using Antlr.Runtime;
  12. using Antlr.Runtime.Tree;
  13. using RewriteRuleITokenStream = Antlr.Runtime.Tree.RewriteRuleTokenStream;using Stack = System.Collections.Generic.Stack<object>;
  14. using List = System.Collections.IList;
  15. using ArrayList = System.Collections.Generic.List<object>;
  16. using Antlr.Runtime.Debug;
  17. using IOException = System.IO.IOException;
  18. [System.CodeDom.Compiler.GeneratedCode("ANTLR", "3.1.2")]
  19. [System.CLSCompliant(false)]
  20. public partial class ProfileTreeGrammar : DebugTreeParser
  21. {
  22. internal static readonly string[] tokenNames = new string[] {
  23. "<invalid>", "<EOR>", "<DOWN>", "<UP>", "CALL", "FUNC", "ID", "INT", "NEWLINE", "WS", "'-'", "'%'", "'('", "')'", "'*'", "'/'", "'+'", "'='"
  24. };
  25. public const int EOF=-1;
  26. public const int T__10=10;
  27. public const int T__11=11;
  28. public const int T__12=12;
  29. public const int T__13=13;
  30. public const int T__14=14;
  31. public const int T__15=15;
  32. public const int T__16=16;
  33. public const int T__17=17;
  34. public const int CALL=4;
  35. public const int FUNC=5;
  36. public const int ID=6;
  37. public const int INT=7;
  38. public const int NEWLINE=8;
  39. public const int WS=9;
  40. // delegates
  41. // delegators
  42. public static readonly string[] ruleNames =
  43. new string[]
  44. {
  45. "invalidRule", "call", "expr", "prog", "stat"
  46. };
  47. int ruleLevel = 0;
  48. public virtual int RuleLevel { get { return ruleLevel; } }
  49. public virtual void IncRuleLevel() { ruleLevel++; }
  50. public virtual void DecRuleLevel() { ruleLevel--; }
  51. public ProfileTreeGrammar( ITreeNodeStream input )
  52. : this( input, new Profiler(null), new RecognizerSharedState() )
  53. {
  54. }
  55. public ProfileTreeGrammar( ITreeNodeStream input, IDebugEventListener dbg, RecognizerSharedState state )
  56. : base( input, dbg, state )
  57. {
  58. Profiler p = (Profiler)dbg;
  59. p.setParser(this);
  60. }
  61. public ProfileTreeGrammar( ITreeNodeStream input, IDebugEventListener dbg )
  62. : base( input, dbg, new RecognizerSharedState() )
  63. {
  64. Profiler p = (Profiler)dbg;
  65. p.setParser(this);
  66. }
  67. public virtual bool AlreadyParsedRule( IIntStream input, int ruleIndex )
  68. {
  69. ((Profiler)dbg).ExamineRuleMemoization(input, ruleIndex, ProfileTreeGrammar.ruleNames[ruleIndex]);
  70. return super.AlreadyParsedRule(input, ruleIndex);
  71. }
  72. public virtual void Memoize( IIntStream input, int ruleIndex, int ruleStartIndex )
  73. {
  74. ((Profiler)dbg).Memoize(input, ruleIndex, ruleStartIndex, ProfileTreeGrammar.ruleNames[ruleIndex]);
  75. super.Memoize(input, ruleIndex, ruleStartIndex);
  76. }
  77. protected virtual bool EvalPredicate( bool result, string predicate )
  78. {
  79. dbg.SemanticPredicate( result, predicate );
  80. return result;
  81. }
  82. public override string[] TokenNames { get { return ProfileTreeGrammar.tokenNames; } }
  83. public override string GrammarFileName { get { return "BuildOptions\\ProfileTreeGrammar.g3"; } }
  84. #region Rules
  85. // $ANTLR start "prog"
  86. // BuildOptions\\ProfileTreeGrammar.g3:53:0: prog : ( stat )* ;
  87. private void prog( )
  88. {
  89. try
  90. {
  91. dbg.EnterRule( GrammarFileName, "prog" );
  92. if ( RuleLevel == 0 )
  93. {
  94. dbg.Commence();
  95. }
  96. IncRuleLevel();
  97. dbg.Location( 53, -1 );
  98. try
  99. {
  100. // BuildOptions\\ProfileTreeGrammar.g3:53:9: ( ( stat )* )
  101. dbg.EnterAlt( 1 );
  102. // BuildOptions\\ProfileTreeGrammar.g3:53:9: ( stat )*
  103. {
  104. dbg.Location( 53, 8 );
  105. // BuildOptions\\ProfileTreeGrammar.g3:53:9: ( stat )*
  106. try
  107. {
  108. dbg.EnterSubRule( 1 );
  109. for ( ; ; )
  110. {
  111. int alt1=2;
  112. try
  113. {
  114. dbg.EnterDecision( 1 );
  115. int LA1_0 = input.LA(1);
  116. if ( ((LA1_0>=CALL && LA1_0<=INT)||(LA1_0>=10 && LA1_0<=11)||(LA1_0>=14 && LA1_0<=17)) )
  117. {
  118. alt1=1;
  119. }
  120. }
  121. finally
  122. {
  123. dbg.ExitDecision( 1 );
  124. }
  125. switch ( alt1 )
  126. {
  127. case 1:
  128. dbg.EnterAlt( 1 );
  129. // BuildOptions\\ProfileTreeGrammar.g3:53:0: stat
  130. {
  131. dbg.Location( 53, 8 );
  132. PushFollow(Follow._stat_in_prog48);
  133. stat();
  134. state._fsp--;
  135. }
  136. break;
  137. default:
  138. goto loop1;
  139. }
  140. }
  141. loop1:
  142. ;
  143. }
  144. finally
  145. {
  146. dbg.ExitSubRule( 1 );
  147. }
  148. }
  149. }
  150. catch ( RecognitionException re )
  151. {
  152. ReportError(re);
  153. Recover(input,re);
  154. }
  155. finally
  156. {
  157. }
  158. dbg.Location(54, 4);
  159. }
  160. finally
  161. {
  162. dbg.ExitRule( GrammarFileName, "prog" );
  163. DecRuleLevel();
  164. if ( RuleLevel == 0 )
  165. {
  166. dbg.Terminate();
  167. }
  168. }
  169. return ;
  170. }
  171. // $ANTLR end "prog"
  172. // $ANTLR start "stat"
  173. // BuildOptions\\ProfileTreeGrammar.g3:56:0: stat : ( expr | ^( '=' ID expr ) | ^( FUNC ( . )+ ) );
  174. private void stat( )
  175. {
  176. CommonTree ID2=null;
  177. BigInteger expr1 = default(BigInteger);
  178. BigInteger expr3 = default(BigInteger);
  179. try
  180. {
  181. dbg.EnterRule( GrammarFileName, "stat" );
  182. if ( RuleLevel == 0 )
  183. {
  184. dbg.Commence();
  185. }
  186. IncRuleLevel();
  187. dbg.Location( 56, -1 );
  188. try
  189. {
  190. // BuildOptions\\ProfileTreeGrammar.g3:56:9: ( expr | ^( '=' ID expr ) | ^( FUNC ( . )+ ) )
  191. int alt3=3;
  192. try
  193. {
  194. dbg.EnterDecision( 3 );
  195. switch ( input.LA(1) )
  196. {
  197. case CALL:
  198. case ID:
  199. case INT:
  200. case 10:
  201. case 11:
  202. case 14:
  203. case 15:
  204. case 16:
  205. {
  206. alt3=1;
  207. }
  208. break;
  209. case 17:
  210. {
  211. alt3=2;
  212. }
  213. break;
  214. case FUNC:
  215. {
  216. alt3=3;
  217. }
  218. break;
  219. default:
  220. {
  221. NoViableAltException nvae = new NoViableAltException("", 3, 0, input);
  222. dbg.RecognitionException( nvae );
  223. throw nvae;
  224. }
  225. }
  226. }
  227. finally
  228. {
  229. dbg.ExitDecision( 3 );
  230. }
  231. switch ( alt3 )
  232. {
  233. case 1:
  234. dbg.EnterAlt( 1 );
  235. // BuildOptions\\ProfileTreeGrammar.g3:56:9: expr
  236. {
  237. dbg.Location( 56, 8 );
  238. PushFollow(Follow._expr_in_stat63);
  239. expr1=expr();
  240. state._fsp--;
  241. dbg.Location( 56, 35 );
  242. string result = expr1.ToString();
  243. Console.Out.WriteLine(expr1 + " (about " + result[0] + "*10^" + (result.Length-1) + ")");
  244. }
  245. break;
  246. case 2:
  247. dbg.EnterAlt( 2 );
  248. // BuildOptions\\ProfileTreeGrammar.g3:59:9: ^( '=' ID expr )
  249. {
  250. dbg.Location( 59, 8 );
  251. dbg.Location( 59, 10 );
  252. Match(input,17,Follow._17_in_stat98);
  253. Match(input, TokenTypes.Down, null);
  254. dbg.Location( 59, 14 );
  255. ID2=(CommonTree)Match(input,ID,Follow._ID_in_stat100);
  256. dbg.Location( 59, 17 );
  257. PushFollow(Follow._expr_in_stat102);
  258. expr3=expr();
  259. state._fsp--;
  260. Match(input, TokenTypes.Up, null);
  261. dbg.Location( 59, 35 );
  262. globalMemory[(ID2!=null?ID2.Text:null)] = expr3;
  263. }
  264. break;
  265. case 3:
  266. dbg.EnterAlt( 3 );
  267. // BuildOptions\\ProfileTreeGrammar.g3:60:9: ^( FUNC ( . )+ )
  268. {
  269. dbg.Location( 60, 8 );
  270. dbg.Location( 60, 10 );
  271. Match(input,FUNC,Follow._FUNC_in_stat128);
  272. Match(input, TokenTypes.Down, null);
  273. dbg.Location( 60, 15 );
  274. // BuildOptions\\ProfileTreeGrammar.g3:60:16: ( . )+
  275. int cnt2=0;
  276. try
  277. {
  278. dbg.EnterSubRule( 2 );
  279. for ( ; ; )
  280. {
  281. int alt2=2;
  282. try
  283. {
  284. dbg.EnterDecision( 2 );
  285. int LA2_0 = input.LA(1);
  286. if ( ((LA2_0>=CALL && LA2_0<=17)) )
  287. {
  288. alt2=1;
  289. }
  290. else if ( (LA2_0==UP) )
  291. {
  292. alt2=2;
  293. }
  294. }
  295. finally
  296. {
  297. dbg.ExitDecision( 2 );
  298. }
  299. switch ( alt2 )
  300. {
  301. case 1:
  302. dbg.EnterAlt( 1 );
  303. // BuildOptions\\ProfileTreeGrammar.g3:60:0: .
  304. {
  305. dbg.Location( 60, 15 );
  306. MatchAny(input);
  307. }
  308. break;
  309. default:
  310. if ( cnt2 >= 1 )
  311. goto loop2;
  312. EarlyExitException eee2 = new EarlyExitException( 2, input );
  313. dbg.RecognitionException( eee2 );
  314. throw eee2;
  315. }
  316. cnt2++;
  317. }
  318. loop2:
  319. ;
  320. }
  321. finally
  322. {
  323. dbg.ExitSubRule( 2 );
  324. }
  325. Match(input, TokenTypes.Up, null);
  326. }
  327. break;
  328. }
  329. }
  330. catch ( RecognitionException re )
  331. {
  332. ReportError(re);
  333. Recover(input,re);
  334. }
  335. finally
  336. {
  337. }
  338. dbg.Location(61, 4);
  339. }
  340. finally
  341. {
  342. dbg.ExitRule( GrammarFileName, "stat" );
  343. DecRuleLevel();
  344. if ( RuleLevel == 0 )
  345. {
  346. dbg.Terminate();
  347. }
  348. }
  349. return ;
  350. }
  351. // $ANTLR end "stat"
  352. // $ANTLR start "expr"
  353. // BuildOptions\\ProfileTreeGrammar.g3:63:0: expr returns [BigInteger value] : ( ^( '+' a= expr b= expr ) | ^( '-' a= expr b= expr ) | ^( '*' a= expr b= expr ) | ^( '/' a= expr b= expr ) | ^( '%' a= expr b= expr ) | ID | INT | call );
  354. private BigInteger expr( )
  355. {
  356. BigInteger value = default(BigInteger);
  357. CommonTree ID4=null;
  358. CommonTree INT5=null;
  359. BigInteger a = default(BigInteger);
  360. BigInteger b = default(BigInteger);
  361. BigInteger call6 = default(BigInteger);
  362. try
  363. {
  364. dbg.EnterRule( GrammarFileName, "expr" );
  365. if ( RuleLevel == 0 )
  366. {
  367. dbg.Commence();
  368. }
  369. IncRuleLevel();
  370. dbg.Location( 63, -1 );
  371. try
  372. {
  373. // BuildOptions\\ProfileTreeGrammar.g3:64:9: ( ^( '+' a= expr b= expr ) | ^( '-' a= expr b= expr ) | ^( '*' a= expr b= expr ) | ^( '/' a= expr b= expr ) | ^( '%' a= expr b= expr ) | ID | INT | call )
  374. int alt4=8;
  375. try
  376. {
  377. dbg.EnterDecision( 4 );
  378. switch ( input.LA(1) )
  379. {
  380. case 16:
  381. {
  382. alt4=1;
  383. }
  384. break;
  385. case 10:
  386. {
  387. alt4=2;
  388. }
  389. break;
  390. case 14:
  391. {
  392. alt4=3;
  393. }
  394. break;
  395. case 15:
  396. {
  397. alt4=4;
  398. }
  399. break;
  400. case 11:
  401. {
  402. alt4=5;
  403. }
  404. break;
  405. case ID:
  406. {
  407. alt4=6;
  408. }
  409. break;
  410. case INT:
  411. {
  412. alt4=7;
  413. }
  414. break;
  415. case CALL:
  416. {
  417. alt4=8;
  418. }
  419. break;
  420. default:
  421. {
  422. NoViableAltException nvae = new NoViableAltException("", 4, 0, input);
  423. dbg.RecognitionException( nvae );
  424. throw nvae;
  425. }
  426. }
  427. }
  428. finally
  429. {
  430. dbg.ExitDecision( 4 );
  431. }
  432. switch ( alt4 )
  433. {
  434. case 1:
  435. dbg.EnterAlt( 1 );
  436. // BuildOptions\\ProfileTreeGrammar.g3:64:9: ^( '+' a= expr b= expr )
  437. {
  438. dbg.Location( 64, 8 );
  439. dbg.Location( 64, 10 );
  440. Match(input,16,Follow._16_in_expr172);
  441. Match(input, TokenTypes.Down, null);
  442. dbg.Location( 64, 15 );
  443. PushFollow(Follow._expr_in_expr176);
  444. a=expr();
  445. state._fsp--;
  446. dbg.Location( 64, 22 );
  447. PushFollow(Follow._expr_in_expr180);
  448. b=expr();
  449. state._fsp--;
  450. Match(input, TokenTypes.Up, null);
  451. dbg.Location( 64, 35 );
  452. value = a.add(b);
  453. }
  454. break;
  455. case 2:
  456. dbg.EnterAlt( 2 );
  457. // BuildOptions\\ProfileTreeGrammar.g3:65:9: ^( '-' a= expr b= expr )
  458. {
  459. dbg.Location( 65, 8 );
  460. dbg.Location( 65, 10 );
  461. Match(input,10,Follow._10_in_expr200);
  462. Match(input, TokenTypes.Down, null);
  463. dbg.Location( 65, 15 );
  464. PushFollow(Follow._expr_in_expr204);
  465. a=expr();
  466. state._fsp--;
  467. dbg.Location( 65, 22 );
  468. PushFollow(Follow._expr_in_expr208);
  469. b=expr();
  470. state._fsp--;
  471. Match(input, TokenTypes.Up, null);
  472. dbg.Location( 65, 35 );
  473. value = a.subtract(b);
  474. }
  475. break;
  476. case 3:
  477. dbg.EnterAlt( 3 );
  478. // BuildOptions\\ProfileTreeGrammar.g3:66:9: ^( '*' a= expr b= expr )
  479. {
  480. dbg.Location( 66, 8 );
  481. dbg.Location( 66, 10 );
  482. Match(input,14,Follow._14_in_expr228);
  483. Match(input, TokenTypes.Down, null);
  484. dbg.Location( 66, 15 );
  485. PushFollow(Follow._expr_in_expr232);
  486. a=expr();
  487. state._fsp--;
  488. dbg.Location( 66, 22 );
  489. PushFollow(Follow._expr_in_expr236);
  490. b=expr();
  491. state._fsp--;
  492. Match(input, TokenTypes.Up, null);
  493. dbg.Location( 66, 35 );
  494. value = a.multiply(b);
  495. }
  496. break;
  497. case 4:
  498. dbg.EnterAlt( 4 );
  499. // BuildOptions\\ProfileTreeGrammar.g3:67:9: ^( '/' a= expr b= expr )
  500. {
  501. dbg.Location( 67, 8 );
  502. dbg.Location( 67, 10 );
  503. Match(input,15,Follow._15_in_expr256);
  504. Match(input, TokenTypes.Down, null);
  505. dbg.Location( 67, 15 );
  506. PushFollow(Follow._expr_in_expr260);
  507. a=expr();
  508. state._fsp--;
  509. dbg.Location( 67, 22 );
  510. PushFollow(Follow._expr_in_expr264);
  511. b=expr();
  512. state._fsp--;
  513. Match(input, TokenTypes.Up, null);
  514. dbg.Location( 67, 35 );
  515. value = a.divide(b);
  516. }
  517. break;
  518. case 5:
  519. dbg.EnterAlt( 5 );
  520. // BuildOptions\\ProfileTreeGrammar.g3:68:9: ^( '%' a= expr b= expr )
  521. {
  522. dbg.Location( 68, 8 );
  523. dbg.Location( 68, 10 );
  524. Match(input,11,Follow._11_in_expr284);
  525. Match(input, TokenTypes.Down, null);
  526. dbg.Location( 68, 15 );
  527. PushFollow(Follow._expr_in_expr288);
  528. a=expr();
  529. state._fsp--;
  530. dbg.Location( 68, 22 );
  531. PushFollow(Follow._expr_in_expr292);
  532. b=expr();
  533. state._fsp--;
  534. Match(input, TokenTypes.Up, null);
  535. dbg.Location( 68, 35 );
  536. value = a.remainder(b);
  537. }
  538. break;
  539. case 6:
  540. dbg.EnterAlt( 6 );
  541. // BuildOptions\\ProfileTreeGrammar.g3:69:9: ID
  542. {
  543. dbg.Location( 69, 8 );
  544. ID4=(CommonTree)Match(input,ID,Follow._ID_in_expr311);
  545. dbg.Location( 69, 35 );
  546. value = getValue((ID4!=null?ID4.Text:null));
  547. }
  548. break;
  549. case 7:
  550. dbg.EnterAlt( 7 );
  551. // BuildOptions\\ProfileTreeGrammar.g3:70:9: INT
  552. {
  553. dbg.Location( 70, 8 );
  554. INT5=(CommonTree)Match(input,INT,Follow._INT_in_expr347);
  555. dbg.Location( 70, 35 );
  556. value = new BigInteger((INT5!=null?INT5.Text:null));
  557. }
  558. break;
  559. case 8:
  560. dbg.EnterAlt( 8 );
  561. // BuildOptions\\ProfileTreeGrammar.g3:71:9: call
  562. {
  563. dbg.Location( 71, 8 );
  564. PushFollow(Follow._call_in_expr382);
  565. call6=call();
  566. state._fsp--;
  567. dbg.Location( 71, 35 );
  568. value = call6;
  569. }
  570. break;
  571. }
  572. }
  573. catch ( RecognitionException re )
  574. {
  575. ReportError(re);
  576. Recover(input,re);
  577. }
  578. finally
  579. {
  580. }
  581. dbg.Location(72, 4);
  582. }
  583. finally
  584. {
  585. dbg.ExitRule( GrammarFileName, "expr" );
  586. DecRuleLevel();
  587. if ( RuleLevel == 0 )
  588. {
  589. dbg.Terminate();
  590. }
  591. }
  592. return value;
  593. }
  594. // $ANTLR end "expr"
  595. // $ANTLR start "call"
  596. // BuildOptions\\ProfileTreeGrammar.g3:74:0: call returns [BigInteger value] : ^( CALL ID expr ) ;
  597. private BigInteger call( )
  598. {
  599. BigInteger value = default(BigInteger);
  600. CommonTree ID8=null;
  601. BigInteger expr7 = default(BigInteger);
  602. try
  603. {
  604. dbg.EnterRule( GrammarFileName, "call" );
  605. if ( RuleLevel == 0 )
  606. {
  607. dbg.Commence();
  608. }
  609. IncRuleLevel();
  610. dbg.Location( 74, -1 );
  611. try
  612. {
  613. // BuildOptions\\ProfileTreeGrammar.g3:75:9: ( ^( CALL ID expr ) )
  614. dbg.EnterAlt( 1 );
  615. // BuildOptions\\ProfileTreeGrammar.g3:75:9: ^( CALL ID expr )
  616. {
  617. dbg.Location( 75, 8 );
  618. dbg.Location( 75, 10 );
  619. Match(input,CALL,Follow._CALL_in_call430);
  620. Match(input, TokenTypes.Down, null);
  621. dbg.Location( 75, 15 );
  622. ID8=(CommonTree)Match(input,ID,Follow._ID_in_call432);
  623. dbg.Location( 75, 18 );
  624. PushFollow(Follow._expr_in_call434);
  625. expr7=expr();
  626. state._fsp--;
  627. Match(input, TokenTypes.Up, null);
  628. dbg.Location( 75, 35 );
  629. BigInteger p = expr7;
  630. CommonTree funcRoot = findFunction((ID8!=null?ID8.Text:null), p);
  631. if (funcRoot == null) {
  632. Console.Error.WriteLine("No match found for " + (ID8!=null?ID8.Text:null) + "(" + p + ")");
  633. } else {
  634. // Here we set up the local evaluator to run over the
  635. // function definition with the parameter value.
  636. // This re-reads a sub-AST of our input AST!
  637. ProfileTreeGrammar e = new ProfileTreeGrammar(funcRoot, functionDefinitions, globalMemory, p);
  638. value = e.expr();
  639. }
  640. }
  641. }
  642. catch ( RecognitionException re )
  643. {
  644. ReportError(re);
  645. Recover(input,re);
  646. }
  647. finally
  648. {
  649. }
  650. dbg.Location(87, 4);
  651. }
  652. finally
  653. {
  654. dbg.ExitRule( GrammarFileName, "call" );
  655. DecRuleLevel();
  656. if ( RuleLevel == 0 )
  657. {
  658. dbg.Terminate();
  659. }
  660. }
  661. return value;
  662. }
  663. // $ANTLR end "call"
  664. #endregion Rules
  665. #region Follow sets
  666. private static class Follow
  667. {
  668. public static readonly BitSet _stat_in_prog48 = new BitSet(new ulong[]{0x3CCF2UL});
  669. public static readonly BitSet _expr_in_stat63 = new BitSet(new ulong[]{0x2UL});
  670. public static readonly BitSet _17_in_stat98 = new BitSet(new ulong[]{0x4UL});
  671. public static readonly BitSet _ID_in_stat100 = new BitSet(new ulong[]{0x1CCD0UL});
  672. public static readonly BitSet _expr_in_stat102 = new BitSet(new ulong[]{0x8UL});
  673. public static readonly BitSet _FUNC_in_stat128 = new BitSet(new ulong[]{0x4UL});
  674. public static readonly BitSet _16_in_expr172 = new BitSet(new ulong[]{0x4UL});
  675. public static readonly BitSet _expr_in_expr176 = new BitSet(new ulong[]{0x1CCD0UL});
  676. public static readonly BitSet _expr_in_expr180 = new BitSet(new ulong[]{0x8UL});
  677. public static readonly BitSet _10_in_expr200 = new BitSet(new ulong[]{0x4UL});
  678. public static readonly BitSet _expr_in_expr204 = new BitSet(new ulong[]{0x1CCD0UL});
  679. public static readonly BitSet _expr_in_expr208 = new BitSet(new ulong[]{0x8UL});
  680. public static readonly BitSet _14_in_expr228 = new BitSet(new ulong[]{0x4UL});
  681. public static readonly BitSet _expr_in_expr232 = new BitSet(new ulong[]{0x1CCD0UL});
  682. public static readonly BitSet _expr_in_expr236 = new BitSet(new ulong[]{0x8UL});
  683. public static readonly BitSet _15_in_expr256 = new BitSet(new ulong[]{0x4UL});
  684. public static readonly BitSet _expr_in_expr260 = new BitSet(new ulong[]{0x1CCD0UL});
  685. public static readonly BitSet _expr_in_expr264 = new BitSet(new ulong[]{0x8UL});
  686. public static readonly BitSet _11_in_expr284 = new BitSet(new ulong[]{0x4UL});
  687. public static readonly BitSet _expr_in_expr288 = new BitSet(new ulong[]{0x1CCD0UL});
  688. public static readonly BitSet _expr_in_expr292 = new BitSet(new ulong[]{0x8UL});
  689. public static readonly BitSet _ID_in_expr311 = new BitSet(new ulong[]{0x2UL});
  690. public static readonly BitSet _INT_in_expr347 = new BitSet(new ulong[]{0x2UL});
  691. public static readonly BitSet _call_in_expr382 = new BitSet(new ulong[]{0x2UL});
  692. public static readonly BitSet _CALL_in_call430 = new BitSet(new ulong[]{0x4UL});
  693. public static readonly BitSet _ID_in_call432 = new BitSet(new ulong[]{0x1CCD0UL});
  694. public static readonly BitSet _expr_in_call434 = new BitSet(new ulong[]{0x8UL});
  695. }
  696. #endregion Follow sets
  697. }