PageRenderTime 35ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

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

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