public class org.antlr.tool.Grammar
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.antlr.tool.Grammar
  super_class: java.lang.Object
{
  public static final java.lang.String SYNPRED_RULE_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "synpred"

  public static final java.lang.String GRAMMAR_FILE_EXTENSION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: ".g"

  public static final java.lang.String LEXER_GRAMMAR_FILE_EXTENSION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: ".g"

  public static final int INITIAL_DECISION_LIST_SIZE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 300

  public static final int INVALID_RULE_INDEX;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  public static final int RULE_LABEL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int TOKEN_LABEL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int RULE_LIST_LABEL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int TOKEN_LIST_LABEL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int CHAR_LABEL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public static final int WILDCARD_TREE_LABEL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  public static final int WILDCARD_TREE_LIST_LABEL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  public static java.lang.String[] LabelTypeToString;
    descriptor: [Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static final java.lang.String ARTIFICIAL_TOKENS_RULENAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Tokens"

  public static final java.lang.String FRAGMENT_RULE_MODIFIER;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "fragment"

  public static final java.lang.String SYNPREDGATE_ACTION_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "synpredgate"

  public static int[] ANTLRLiteralEscapedCharValue;
    descriptor: [I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static java.lang.String[] ANTLRLiteralCharValueEscape;
    descriptor: [Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static final int LEXER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int PARSER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int TREE_PARSER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int COMBINED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final java.lang.String[] grammarTypeToString;
    descriptor: [Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.String[] grammarTypeToFileNameSuffix;
    descriptor: [Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static org.antlr.misc.MultiMap<java.lang.Integer, java.lang.Integer> validDelegations;
    descriptor: Lorg/antlr/misc/MultiMap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Signature: Lorg/antlr/misc/MultiMap<Ljava/lang/Integer;Ljava/lang/Integer;>;

  public org.antlr.runtime.CommonTokenStream tokenBuffer;
    descriptor: Lorg/antlr/runtime/CommonTokenStream;
    flags: (0x0001) ACC_PUBLIC

  public static final java.lang.String IGNORE_STRING_IN_GRAMMAR_FILE_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "__"

  public static final java.lang.String AUTO_GENERATED_TOKEN_NAME_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "T__"

  public java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public int type;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  protected java.util.Map<java.lang.String, java.lang.Object> options;
    descriptor: Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  public static final java.util.Set<java.lang.String> legalLexerOptions;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public static final java.util.Set<java.lang.String> legalParserOptions;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public static final java.util.Set<java.lang.String> legalTreeParserOptions;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public static final java.util.Set<java.lang.String> doNotCopyOptionsToLexer;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public static final java.util.Map<java.lang.String, java.lang.String> defaultOptions;
    descriptor: Ljava/util/Map;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  public static final java.util.Set<java.lang.String> legalBlockOptions;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public static final java.util.Map<java.lang.String, java.lang.String> defaultBlockOptions;
    descriptor: Ljava/util/Map;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  public static final java.util.Map<java.lang.String, java.lang.String> defaultLexerBlockOptions;
    descriptor: Ljava/util/Map;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  public static final java.util.Set<java.lang.String> legalTokenOptions;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public static final java.lang.String defaultTokenOption;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "node"

  protected int global_k;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  private java.util.Map<java.lang.String, java.util.Map<java.lang.String, java.lang.Object>> actions;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;>;

  public org.antlr.analysis.NFA nfa;
    descriptor: Lorg/antlr/analysis/NFA;
    flags: (0x0001) ACC_PUBLIC

  protected org.antlr.tool.NFAFactory factory;
    descriptor: Lorg/antlr/tool/NFAFactory;
    flags: (0x0004) ACC_PROTECTED

  public org.antlr.tool.CompositeGrammar composite;
    descriptor: Lorg/antlr/tool/CompositeGrammar;
    flags: (0x0001) ACC_PUBLIC

  public org.antlr.tool.CompositeGrammarTree compositeTreeNode;
    descriptor: Lorg/antlr/tool/CompositeGrammarTree;
    flags: (0x0001) ACC_PUBLIC

  public java.lang.String label;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  protected org.antlr.misc.IntSet charVocabulary;
    descriptor: Lorg/antlr/misc/IntSet;
    flags: (0x0004) ACC_PROTECTED

  java.util.Map<java.lang.String, org.antlr.analysis.DFA> lineColumnToLookaheadDFAMap;
    descriptor: Ljava/util/Map;
    flags: (0x0000) 
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/antlr/analysis/DFA;>;

  public org.antlr.Tool tool;
    descriptor: Lorg/antlr/Tool;
    flags: (0x0001) ACC_PUBLIC

  protected java.util.Set<org.antlr.tool.GrammarAST> ruleRefs;
    descriptor: Ljava/util/Set;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Set<Lorg/antlr/tool/GrammarAST;>;

  protected java.util.Set<org.antlr.tool.GrammarAST> scopedRuleRefs;
    descriptor: Ljava/util/Set;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Set<Lorg/antlr/tool/GrammarAST;>;

  protected java.util.Set<org.antlr.runtime.Token> tokenIDRefs;
    descriptor: Ljava/util/Set;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Set<Lorg/antlr/runtime/Token;>;

  protected int decisionCount;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected java.util.Set<org.antlr.tool.Rule> leftRecursiveRules;
    descriptor: Ljava/util/Set;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Set<Lorg/antlr/tool/Rule;>;

  protected boolean externalAnalysisAbort;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  public int numNonLLStar;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  protected java.util.LinkedHashMap<java.lang.String, org.antlr.tool.GrammarAST> nameToSynpredASTMap;
    descriptor: Ljava/util/LinkedHashMap;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/LinkedHashMap<Ljava/lang/String;Lorg/antlr/tool/GrammarAST;>;

  public java.util.List<java.lang.String> precRuleInitCodeBlocks;
    descriptor: Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/List<Ljava/lang/String;>;

  public boolean atLeastOneRuleMemoizes;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean atLeastOneBacktrackOption;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean implicitLexer;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  protected java.util.LinkedHashMap<java.lang.String, org.antlr.tool.Rule> nameToRuleMap;
    descriptor: Ljava/util/LinkedHashMap;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/LinkedHashMap<Ljava/lang/String;Lorg/antlr/tool/Rule;>;

  public java.util.Set<java.lang.String> overriddenRules;
    descriptor: Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  protected java.util.Set<org.antlr.tool.Rule> delegatedRuleReferences;
    descriptor: Ljava/util/Set;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Set<Lorg/antlr/tool/Rule;>;

  public java.util.List<java.lang.String> lexerRuleNamesInCombined;
    descriptor: Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/List<Ljava/lang/String;>;

  protected java.util.Map<java.lang.String, org.antlr.tool.AttributeScope> scopes;
    descriptor: Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/antlr/tool/AttributeScope;>;

  protected org.antlr.tool.GrammarAST grammarTree;
    descriptor: Lorg/antlr/tool/GrammarAST;
    flags: (0x0004) ACC_PROTECTED

  protected java.util.Vector<org.antlr.tool.Grammar$Decision> indexToDecision;
    descriptor: Ljava/util/Vector;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Vector<Lorg/antlr/tool/Grammar$Decision;>;

  protected org.antlr.codegen.CodeGenerator generator;
    descriptor: Lorg/antlr/codegen/CodeGenerator;
    flags: (0x0004) ACC_PROTECTED

  public org.antlr.tool.NameSpaceChecker nameSpaceChecker;
    descriptor: Lorg/antlr/tool/NameSpaceChecker;
    flags: (0x0001) ACC_PUBLIC

  public org.antlr.analysis.LL1Analyzer ll1Analyzer;
    descriptor: Lorg/antlr/analysis/LL1Analyzer;
    flags: (0x0001) ACC_PUBLIC

  protected java.lang.String lexerGrammarTemplate;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected org.stringtemplate.v4.ST lexerGrammarST;
    descriptor: Lorg/stringtemplate/v4/ST;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String fileName;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  public long DFACreationWallClockTimeInMS;
    descriptor: J
    flags: (0x0001) ACC_PUBLIC

  public int numberOfSemanticPredicates;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int numberOfManualLookaheadOptions;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public java.util.Set<java.lang.Integer> setOfNondeterministicDecisionNumbers;
    descriptor: Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/Set<Ljava/lang/Integer;>;

  public java.util.Set<java.lang.Integer> setOfNondeterministicDecisionNumbersResolvedWithPredicates;
    descriptor: Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/Set<Ljava/lang/Integer;>;

  public java.util.Set<org.antlr.tool.GrammarAST> blocksWithSynPreds;
    descriptor: Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/Set<Lorg/antlr/tool/GrammarAST;>;

  public java.util.Set<org.antlr.analysis.DFA> decisionsWhoseDFAsUsesSynPreds;
    descriptor: Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/Set<Lorg/antlr/analysis/DFA;>;

  public java.util.Set<java.lang.String> synPredNamesUsedInDFA;
    descriptor: Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public java.util.Set<org.antlr.tool.GrammarAST> blocksWithSemPreds;
    descriptor: Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/Set<Lorg/antlr/tool/GrammarAST;>;

  public java.util.Set<org.antlr.analysis.DFA> decisionsWhoseDFAsUsesSemPreds;
    descriptor: Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/Set<Lorg/antlr/analysis/DFA;>;

  protected boolean allDecisionDFACreated;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected boolean builtFromString;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  org.antlr.tool.GrammarSanity sanity;
    descriptor: Lorg/antlr/tool/GrammarSanity;
    flags: (0x0000) 

  org.antlr.codegen.Target target;
    descriptor: Lorg/antlr/codegen/Target;
    flags: (0x0000) 

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 113
            bipush 7
            anewarray java.lang.String
            dup
            iconst_0
            ldc "<invalid>"
            aastore
            dup
            iconst_1
            ldc "rule"
            aastore
            dup
            iconst_2
            ldc "token"
            aastore
            dup
            iconst_3
            ldc "rule-list"
            aastore
            dup
            iconst_4
            ldc "token-list"
            aastore
            dup
            iconst_5
            ldc "wildcard-tree"
            aastore
            dup
            bipush 6
            ldc "wildcard-tree-list"
            aastore
         1: .line 112
            putstatic org.antlr.tool.Grammar.LabelTypeToString:[Ljava/lang/String;
         2: .line 123
            sipush 255
            newarray 10
            putstatic org.antlr.tool.Grammar.ANTLRLiteralEscapedCharValue:[I
         3: .line 127
            sipush 255
            anewarray java.lang.String
            putstatic org.antlr.tool.Grammar.ANTLRLiteralCharValueEscape:[Ljava/lang/String;
         4: .line 130
            getstatic org.antlr.tool.Grammar.ANTLRLiteralEscapedCharValue:[I
            bipush 110
            bipush 10
            iastore
         5: .line 131
            getstatic org.antlr.tool.Grammar.ANTLRLiteralEscapedCharValue:[I
            bipush 114
            bipush 13
            iastore
         6: .line 132
            getstatic org.antlr.tool.Grammar.ANTLRLiteralEscapedCharValue:[I
            bipush 116
            bipush 9
            iastore
         7: .line 133
            getstatic org.antlr.tool.Grammar.ANTLRLiteralEscapedCharValue:[I
            bipush 98
            bipush 8
            iastore
         8: .line 134
            getstatic org.antlr.tool.Grammar.ANTLRLiteralEscapedCharValue:[I
            bipush 102
            bipush 12
            iastore
         9: .line 135
            getstatic org.antlr.tool.Grammar.ANTLRLiteralEscapedCharValue:[I
            bipush 92
            bipush 92
            iastore
        10: .line 136
            getstatic org.antlr.tool.Grammar.ANTLRLiteralEscapedCharValue:[I
            bipush 39
            bipush 39
            iastore
        11: .line 137
            getstatic org.antlr.tool.Grammar.ANTLRLiteralEscapedCharValue:[I
            bipush 34
            bipush 34
            iastore
        12: .line 138
            getstatic org.antlr.tool.Grammar.ANTLRLiteralCharValueEscape:[Ljava/lang/String;
            bipush 10
            ldc "\\n"
            aastore
        13: .line 139
            getstatic org.antlr.tool.Grammar.ANTLRLiteralCharValueEscape:[Ljava/lang/String;
            bipush 13
            ldc "\\r"
            aastore
        14: .line 140
            getstatic org.antlr.tool.Grammar.ANTLRLiteralCharValueEscape:[Ljava/lang/String;
            bipush 9
            ldc "\\t"
            aastore
        15: .line 141
            getstatic org.antlr.tool.Grammar.ANTLRLiteralCharValueEscape:[Ljava/lang/String;
            bipush 8
            ldc "\\b"
            aastore
        16: .line 142
            getstatic org.antlr.tool.Grammar.ANTLRLiteralCharValueEscape:[Ljava/lang/String;
            bipush 12
            ldc "\\f"
            aastore
        17: .line 143
            getstatic org.antlr.tool.Grammar.ANTLRLiteralCharValueEscape:[Ljava/lang/String;
            bipush 92
            ldc "\\\\"
            aastore
        18: .line 144
            getstatic org.antlr.tool.Grammar.ANTLRLiteralCharValueEscape:[Ljava/lang/String;
            bipush 39
            ldc "\\'"
            aastore
        19: .line 151
            iconst_5
            anewarray java.lang.String
            dup
            iconst_0
        20: .line 152
            ldc "<invalid>"
            aastore
            dup
            iconst_1
        21: .line 153
            ldc "lexer"
            aastore
            dup
            iconst_2
        22: .line 154
            ldc "parser"
            aastore
            dup
            iconst_3
        23: .line 155
            ldc "tree"
            aastore
            dup
            iconst_4
        24: .line 156
            ldc "combined"
            aastore
        25: .line 151
            putstatic org.antlr.tool.Grammar.grammarTypeToString:[Ljava/lang/String;
        26: .line 159
            iconst_5
            anewarray java.lang.String
            dup
            iconst_0
        27: .line 160
            ldc "<invalid>"
            aastore
            dup
            iconst_1
        28: .line 161
            ldc "Lexer"
            aastore
            dup
            iconst_2
        29: .line 162
            ldc "Parser"
            aastore
            dup
            iconst_3
        30: .line 163
            ldc ""
            aastore
            dup
            iconst_4
        31: .line 164
            ldc "Parser"
            aastore
        32: .line 159
            putstatic org.antlr.tool.Grammar.grammarTypeToFileNameSuffix:[Ljava/lang/String;
        33: .line 173
            new org.antlr.tool.Grammar$1
            dup
            invokespecial org.antlr.tool.Grammar$1.<init>:()V
        34: .line 172
            putstatic org.antlr.tool.Grammar.validDelegations:Lorg/antlr/misc/MultiMap;
        35: .line 243
            new org.antlr.tool.Grammar$2
            dup
            invokespecial org.antlr.tool.Grammar$2.<init>:()V
        36: .line 242
            putstatic org.antlr.tool.Grammar.legalLexerOptions:Ljava/util/Set;
        37: .line 256
            new org.antlr.tool.Grammar$3
            dup
            invokespecial org.antlr.tool.Grammar$3.<init>:()V
        38: .line 255
            putstatic org.antlr.tool.Grammar.legalParserOptions:Ljava/util/Set;
        39: .line 269
            new org.antlr.tool.Grammar$4
            dup
            invokespecial org.antlr.tool.Grammar$4.<init>:()V
        40: .line 268
            putstatic org.antlr.tool.Grammar.legalTreeParserOptions:Ljava/util/Set;
        41: .line 283
            new org.antlr.tool.Grammar$5
            dup
            invokespecial org.antlr.tool.Grammar$5.<init>:()V
        42: .line 282
            putstatic org.antlr.tool.Grammar.doNotCopyOptionsToLexer:Ljava/util/Set;
        43: .line 291
            new org.antlr.tool.Grammar$6
            dup
            invokespecial org.antlr.tool.Grammar$6.<init>:()V
        44: .line 290
            putstatic org.antlr.tool.Grammar.defaultOptions:Ljava/util/Map;
        45: .line 298
            new org.antlr.tool.Grammar$7
            dup
            invokespecial org.antlr.tool.Grammar$7.<init>:()V
        46: .line 297
            putstatic org.antlr.tool.Grammar.legalBlockOptions:Ljava/util/Set;
        47: .line 302
            new org.antlr.tool.Grammar$8
            dup
            invokespecial org.antlr.tool.Grammar$8.<init>:()V
        48: .line 301
            putstatic org.antlr.tool.Grammar.defaultBlockOptions:Ljava/util/Map;
        49: .line 305
            new org.antlr.tool.Grammar$9
            dup
            invokespecial org.antlr.tool.Grammar$9.<init>:()V
        50: .line 304
            putstatic org.antlr.tool.Grammar.defaultLexerBlockOptions:Ljava/util/Map;
        51: .line 311
            new org.antlr.tool.Grammar$10
            dup
            invokespecial org.antlr.tool.Grammar$10.<init>:()V
        52: .line 310
            putstatic org.antlr.tool.Grammar.legalTokenOptions:Ljava/util/Set;
        53: .line 320
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.antlr.Tool, java.lang.String, org.antlr.tool.CompositeGrammar);
    descriptor: (Lorg/antlr/Tool;Ljava/lang/String;Lorg/antlr/tool/CompositeGrammar;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.Tool tool
        start local 2 // java.lang.String fileName
        start local 3 // org.antlr.tool.CompositeGrammar composite
         0: .line 559
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 326
            aload 0 /* this */
            iconst_m1
            putfield org.antlr.tool.Grammar.global_k:I
         2: .line 334
            aload 0 /* this */
         3: .line 335
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.antlr.tool.Grammar.actions:Ljava/util/Map;
         4: .line 360
            aload 0 /* this */
            aconst_null
            putfield org.antlr.tool.Grammar.charVocabulary:Lorg/antlr/misc/IntSet;
         5: .line 365
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.antlr.tool.Grammar.lineColumnToLookaheadDFAMap:Ljava/util/Map;
         6: .line 372
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.antlr.tool.Grammar.ruleRefs:Ljava/util/Set;
         7: .line 374
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.antlr.tool.Grammar.scopedRuleRefs:Ljava/util/Set;
         8: .line 377
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.antlr.tool.Grammar.tokenIDRefs:Ljava/util/Set;
         9: .line 382
            aload 0 /* this */
            iconst_0
            putfield org.antlr.tool.Grammar.decisionCount:I
        10: .line 396
            aload 0 /* this */
            iconst_0
            putfield org.antlr.tool.Grammar.numNonLLStar:I
        11: .line 415
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.antlr.tool.Grammar.precRuleInitCodeBlocks:Ljava/util/List;
        12: .line 427
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.antlr.tool.Grammar.nameToRuleMap:Ljava/util/LinkedHashMap;
        13: .line 432
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.antlr.tool.Grammar.overriddenRules:Ljava/util/Set;
        14: .line 441
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.antlr.tool.Grammar.delegatedRuleReferences:Ljava/util/Set;
        15: .line 446
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.antlr.tool.Grammar.lexerRuleNamesInCombined:Ljava/util/List;
        16: .line 451
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.antlr.tool.Grammar.scopes:Ljava/util/Map;
        17: .line 457
            aload 0 /* this */
            aconst_null
            putfield org.antlr.tool.Grammar.grammarTree:Lorg/antlr/tool/GrammarAST;
        18: .line 463
            aload 0 /* this */
        19: .line 464
            new java.util.Vector
            dup
            sipush 300
            invokespecial java.util.Vector.<init>:(I)V
            putfield org.antlr.tool.Grammar.indexToDecision:Ljava/util/Vector;
        20: .line 471
            aload 0 /* this */
            new org.antlr.tool.NameSpaceChecker
            dup
            aload 0 /* this */
            invokespecial org.antlr.tool.NameSpaceChecker.<init>:(Lorg/antlr/tool/Grammar;)V
            putfield org.antlr.tool.Grammar.nameSpaceChecker:Lorg/antlr/tool/NameSpaceChecker;
        21: .line 473
            aload 0 /* this */
            new org.antlr.analysis.LL1Analyzer
            dup
            aload 0 /* this */
            invokespecial org.antlr.analysis.LL1Analyzer.<init>:(Lorg/antlr/tool/Grammar;)V
            putfield org.antlr.tool.Grammar.ll1Analyzer:Lorg/antlr/analysis/LL1Analyzer;
        22: .line 486
            aload 0 /* this */
        23: .line 487
            ldc "grammar(name, options, imports, actionNames, actions, literals, rules) ::= <<\nlexer grammar <name>;\n<if(options)>options {\n  <options:{it | <it.name>=<it.value>;<\\n>}>\n}<\\n>\n<endif>\n<if(imports)>import <imports; separator=\", \">;<endif>\n<actionNames,actions:{n,a|@<n> {<a>\\}\n}>\n<literals:{it | <it.ruleName> : <it.literal> ;\n}>\n<rules>\n>>\n"
            putfield org.antlr.tool.Grammar.lexerGrammarTemplate:Ljava/lang/String;
        24: .line 511
            aload 0 /* this */
            iconst_0
            putfield org.antlr.tool.Grammar.numberOfSemanticPredicates:I
        25: .line 512
            aload 0 /* this */
            iconst_0
            putfield org.antlr.tool.Grammar.numberOfManualLookaheadOptions:I
        26: .line 513
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.antlr.tool.Grammar.setOfNondeterministicDecisionNumbers:Ljava/util/Set;
        27: .line 514
            aload 0 /* this */
        28: .line 515
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.antlr.tool.Grammar.setOfNondeterministicDecisionNumbersResolvedWithPredicates:Ljava/util/Set;
        29: .line 520
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.antlr.tool.Grammar.blocksWithSynPreds:Ljava/util/Set;
        30: .line 525
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.antlr.tool.Grammar.decisionsWhoseDFAsUsesSynPreds:Ljava/util/Set;
        31: .line 533
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.antlr.tool.Grammar.synPredNamesUsedInDFA:Ljava/util/Set;
        32: .line 538
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.antlr.tool.Grammar.blocksWithSemPreds:Ljava/util/Set;
        33: .line 541
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.antlr.tool.Grammar.decisionsWhoseDFAsUsesSemPreds:Ljava/util/Set;
        34: .line 543
            aload 0 /* this */
            iconst_0
            putfield org.antlr.tool.Grammar.allDecisionDFACreated:Z
        35: .line 550
            aload 0 /* this */
            iconst_0
            putfield org.antlr.tool.Grammar.builtFromString:Z
        36: .line 553
            aload 0 /* this */
            new org.antlr.tool.GrammarSanity
            dup
            aload 0 /* this */
            invokespecial org.antlr.tool.GrammarSanity.<init>:(Lorg/antlr/tool/Grammar;)V
            putfield org.antlr.tool.Grammar.sanity:Lorg/antlr/tool/GrammarSanity;
        37: .line 560
            aload 0 /* this */
            aload 3 /* composite */
            putfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
        38: .line 561
            aload 0 /* this */
            aload 1 /* tool */
            invokevirtual org.antlr.tool.Grammar.setTool:(Lorg/antlr/Tool;)V
        39: .line 562
            aload 0 /* this */
            aload 2 /* fileName */
            invokevirtual org.antlr.tool.Grammar.setFileName:(Ljava/lang/String;)V
        40: .line 564
            aload 3 /* composite */
            getfield org.antlr.tool.CompositeGrammar.delegateGrammarTreeRoot:Lorg/antlr/tool/CompositeGrammarTree;
            ifnonnull 42
        41: .line 565
            aload 3 /* composite */
            aload 0 /* this */
            invokevirtual org.antlr.tool.CompositeGrammar.setDelegationRoot:(Lorg/antlr/tool/Grammar;)V
        42: .line 567
      StackMap locals: org.antlr.tool.Grammar org.antlr.Tool java.lang.String org.antlr.tool.CompositeGrammar
      StackMap stack:
            new org.stringtemplate.v4.STGroupString
            dup
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.lexerGrammarTemplate:Ljava/lang/String;
            invokespecial org.stringtemplate.v4.STGroupString.<init>:(Ljava/lang/String;)V
            astore 4 /* lexerGrammarSTG */
        start local 4 // org.stringtemplate.v4.STGroup lexerGrammarSTG
        43: .line 568
            aload 0 /* this */
            aload 4 /* lexerGrammarSTG */
            ldc "grammar"
            invokevirtual org.stringtemplate.v4.STGroup.getInstanceOf:(Ljava/lang/String;)Lorg/stringtemplate/v4/ST;
            putfield org.antlr.tool.Grammar.lexerGrammarST:Lorg/stringtemplate/v4/ST;
        44: .line 569
            aload 0 /* this */
            aload 0 /* this */
            ldc "language"
            invokevirtual org.antlr.tool.Grammar.getOption:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.antlr.codegen.CodeGenerator.loadLanguageTarget:(Ljava/lang/String;)Lorg/antlr/codegen/Target;
            putfield org.antlr.tool.Grammar.target:Lorg/antlr/codegen/Target;
        45: .line 570
            return
        end local 4 // org.stringtemplate.v4.STGroup lexerGrammarSTG
        end local 3 // org.antlr.tool.CompositeGrammar composite
        end local 2 // java.lang.String fileName
        end local 1 // org.antlr.Tool tool
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   46     0             this  Lorg/antlr/tool/Grammar;
            0   46     1             tool  Lorg/antlr/Tool;
            0   46     2         fileName  Ljava/lang/String;
            0   46     3        composite  Lorg/antlr/tool/CompositeGrammar;
           43   46     4  lexerGrammarSTG  Lorg/stringtemplate/v4/STGroup;
    MethodParameters:
           Name  Flags
      tool       
      fileName   
      composite  

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 575
            aload 0 /* this */
            aconst_null
            invokespecial org.antlr.tool.Grammar.<init>:(Lorg/antlr/Tool;)V
            return
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;

  public void <init>(org.antlr.Tool);
    descriptor: (Lorg/antlr/Tool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.Tool tool
         0: .line 577
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 326
            aload 0 /* this */
            iconst_m1
            putfield org.antlr.tool.Grammar.global_k:I
         2: .line 334
            aload 0 /* this */
         3: .line 335
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.antlr.tool.Grammar.actions:Ljava/util/Map;
         4: .line 360
            aload 0 /* this */
            aconst_null
            putfield org.antlr.tool.Grammar.charVocabulary:Lorg/antlr/misc/IntSet;
         5: .line 365
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.antlr.tool.Grammar.lineColumnToLookaheadDFAMap:Ljava/util/Map;
         6: .line 372
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.antlr.tool.Grammar.ruleRefs:Ljava/util/Set;
         7: .line 374
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.antlr.tool.Grammar.scopedRuleRefs:Ljava/util/Set;
         8: .line 377
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.antlr.tool.Grammar.tokenIDRefs:Ljava/util/Set;
         9: .line 382
            aload 0 /* this */
            iconst_0
            putfield org.antlr.tool.Grammar.decisionCount:I
        10: .line 396
            aload 0 /* this */
            iconst_0
            putfield org.antlr.tool.Grammar.numNonLLStar:I
        11: .line 415
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.antlr.tool.Grammar.precRuleInitCodeBlocks:Ljava/util/List;
        12: .line 427
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.antlr.tool.Grammar.nameToRuleMap:Ljava/util/LinkedHashMap;
        13: .line 432
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.antlr.tool.Grammar.overriddenRules:Ljava/util/Set;
        14: .line 441
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.antlr.tool.Grammar.delegatedRuleReferences:Ljava/util/Set;
        15: .line 446
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.antlr.tool.Grammar.lexerRuleNamesInCombined:Ljava/util/List;
        16: .line 451
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.antlr.tool.Grammar.scopes:Ljava/util/Map;
        17: .line 457
            aload 0 /* this */
            aconst_null
            putfield org.antlr.tool.Grammar.grammarTree:Lorg/antlr/tool/GrammarAST;
        18: .line 463
            aload 0 /* this */
        19: .line 464
            new java.util.Vector
            dup
            sipush 300
            invokespecial java.util.Vector.<init>:(I)V
            putfield org.antlr.tool.Grammar.indexToDecision:Ljava/util/Vector;
        20: .line 471
            aload 0 /* this */
            new org.antlr.tool.NameSpaceChecker
            dup
            aload 0 /* this */
            invokespecial org.antlr.tool.NameSpaceChecker.<init>:(Lorg/antlr/tool/Grammar;)V
            putfield org.antlr.tool.Grammar.nameSpaceChecker:Lorg/antlr/tool/NameSpaceChecker;
        21: .line 473
            aload 0 /* this */
            new org.antlr.analysis.LL1Analyzer
            dup
            aload 0 /* this */
            invokespecial org.antlr.analysis.LL1Analyzer.<init>:(Lorg/antlr/tool/Grammar;)V
            putfield org.antlr.tool.Grammar.ll1Analyzer:Lorg/antlr/analysis/LL1Analyzer;
        22: .line 486
            aload 0 /* this */
        23: .line 487
            ldc "grammar(name, options, imports, actionNames, actions, literals, rules) ::= <<\nlexer grammar <name>;\n<if(options)>options {\n  <options:{it | <it.name>=<it.value>;<\\n>}>\n}<\\n>\n<endif>\n<if(imports)>import <imports; separator=\", \">;<endif>\n<actionNames,actions:{n,a|@<n> {<a>\\}\n}>\n<literals:{it | <it.ruleName> : <it.literal> ;\n}>\n<rules>\n>>\n"
            putfield org.antlr.tool.Grammar.lexerGrammarTemplate:Ljava/lang/String;
        24: .line 511
            aload 0 /* this */
            iconst_0
            putfield org.antlr.tool.Grammar.numberOfSemanticPredicates:I
        25: .line 512
            aload 0 /* this */
            iconst_0
            putfield org.antlr.tool.Grammar.numberOfManualLookaheadOptions:I
        26: .line 513
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.antlr.tool.Grammar.setOfNondeterministicDecisionNumbers:Ljava/util/Set;
        27: .line 514
            aload 0 /* this */
        28: .line 515
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.antlr.tool.Grammar.setOfNondeterministicDecisionNumbersResolvedWithPredicates:Ljava/util/Set;
        29: .line 520
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.antlr.tool.Grammar.blocksWithSynPreds:Ljava/util/Set;
        30: .line 525
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.antlr.tool.Grammar.decisionsWhoseDFAsUsesSynPreds:Ljava/util/Set;
        31: .line 533
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.antlr.tool.Grammar.synPredNamesUsedInDFA:Ljava/util/Set;
        32: .line 538
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.antlr.tool.Grammar.blocksWithSemPreds:Ljava/util/Set;
        33: .line 541
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.antlr.tool.Grammar.decisionsWhoseDFAsUsesSemPreds:Ljava/util/Set;
        34: .line 543
            aload 0 /* this */
            iconst_0
            putfield org.antlr.tool.Grammar.allDecisionDFACreated:Z
        35: .line 550
            aload 0 /* this */
            iconst_0
            putfield org.antlr.tool.Grammar.builtFromString:Z
        36: .line 553
            aload 0 /* this */
            new org.antlr.tool.GrammarSanity
            dup
            aload 0 /* this */
            invokespecial org.antlr.tool.GrammarSanity.<init>:(Lorg/antlr/tool/Grammar;)V
            putfield org.antlr.tool.Grammar.sanity:Lorg/antlr/tool/GrammarSanity;
        37: .line 578
            aload 0 /* this */
            aload 1 /* tool */
            invokevirtual org.antlr.tool.Grammar.setTool:(Lorg/antlr/Tool;)V
        38: .line 579
            aload 0 /* this */
            iconst_1
            putfield org.antlr.tool.Grammar.builtFromString:Z
        39: .line 580
            aload 0 /* this */
            new org.antlr.tool.CompositeGrammar
            dup
            aload 0 /* this */
            invokespecial org.antlr.tool.CompositeGrammar.<init>:(Lorg/antlr/tool/Grammar;)V
            putfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
        40: .line 581
            new org.stringtemplate.v4.STGroupString
            dup
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.lexerGrammarTemplate:Ljava/lang/String;
            invokespecial org.stringtemplate.v4.STGroupString.<init>:(Ljava/lang/String;)V
            astore 2 /* lexerGrammarSTG */
        start local 2 // org.stringtemplate.v4.STGroup lexerGrammarSTG
        41: .line 582
            aload 0 /* this */
            aload 2 /* lexerGrammarSTG */
            ldc "grammar"
            invokevirtual org.stringtemplate.v4.STGroup.getInstanceOf:(Ljava/lang/String;)Lorg/stringtemplate/v4/ST;
            putfield org.antlr.tool.Grammar.lexerGrammarST:Lorg/stringtemplate/v4/ST;
        42: .line 583
            aload 0 /* this */
            aload 0 /* this */
            ldc "language"
            invokevirtual org.antlr.tool.Grammar.getOption:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.antlr.codegen.CodeGenerator.loadLanguageTarget:(Ljava/lang/String;)Lorg/antlr/codegen/Target;
            putfield org.antlr.tool.Grammar.target:Lorg/antlr/codegen/Target;
        43: .line 584
            return
        end local 2 // org.stringtemplate.v4.STGroup lexerGrammarSTG
        end local 1 // org.antlr.Tool tool
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   44     0             this  Lorg/antlr/tool/Grammar;
            0   44     1             tool  Lorg/antlr/Tool;
           41   44     2  lexerGrammarSTG  Lorg/stringtemplate/v4/STGroup;
    MethodParameters:
      Name  Flags
      tool  

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String grammarString
         0: .line 590
            aload 0 /* this */
            aconst_null
            aload 1 /* grammarString */
            invokespecial org.antlr.tool.Grammar.<init>:(Lorg/antlr/Tool;Ljava/lang/String;)V
         1: .line 591
            return
        end local 1 // java.lang.String grammarString
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/antlr/tool/Grammar;
            0    2     1  grammarString  Ljava/lang/String;
    Exceptions:
      throws org.antlr.runtime.RecognitionException
    MethodParameters:
               Name  Flags
      grammarString  

  public void <init>(org.antlr.Tool, java.lang.String);
    descriptor: (Lorg/antlr/Tool;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.Tool tool
        start local 2 // java.lang.String grammarString
         0: .line 599
            aload 0 /* this */
            aload 1 /* tool */
            invokespecial org.antlr.tool.Grammar.<init>:(Lorg/antlr/Tool;)V
         1: .line 600
            aload 0 /* this */
            ldc "<string>"
            invokevirtual org.antlr.tool.Grammar.setFileName:(Ljava/lang/String;)V
         2: .line 601
            new java.io.StringReader
            dup
            aload 2 /* grammarString */
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
            astore 3 /* r */
        start local 3 // java.io.StringReader r
         3: .line 602
            aload 0 /* this */
            aload 3 /* r */
            invokevirtual org.antlr.tool.Grammar.parseAndBuildAST:(Ljava/io/Reader;)V
         4: .line 603
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            invokevirtual org.antlr.tool.CompositeGrammar.assignTokenTypes:()V
         5: .line 605
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.addRulesForSyntacticPredicates:()V
         6: .line 606
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            invokevirtual org.antlr.tool.CompositeGrammar.defineGrammarSymbols:()V
         7: .line 608
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.checkNameSpaceAndActions:()V
         8: .line 609
            return
        end local 3 // java.io.StringReader r
        end local 2 // java.lang.String grammarString
        end local 1 // org.antlr.Tool tool
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/antlr/tool/Grammar;
            0    9     1           tool  Lorg/antlr/Tool;
            0    9     2  grammarString  Ljava/lang/String;
            3    9     3              r  Ljava/io/StringReader;
    Exceptions:
      throws org.antlr.runtime.RecognitionException
    MethodParameters:
               Name  Flags
      tool           
      grammarString  

  public void setFileName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String fileName
         0: .line 612
            aload 0 /* this */
            aload 1 /* fileName */
            putfield org.antlr.tool.Grammar.fileName:Ljava/lang/String;
         1: .line 613
            return
        end local 1 // java.lang.String fileName
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/antlr/tool/Grammar;
            0    2     1  fileName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      fileName  

  public java.lang.String getFileName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 616
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.fileName:Ljava/lang/String;
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;

  public void setName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String name
         0: .line 620
            aload 1 /* name */
            ifnonnull 2
         1: .line 621
            return
         2: .line 624
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.fileName:Ljava/lang/String;
            bipush 92
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 2 /* saneFile */
        start local 2 // java.lang.String saneFile
         3: .line 625
            aload 2 /* saneFile */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 3 /* lastSlash */
        start local 3 // int lastSlash
         4: .line 626
            aload 2 /* saneFile */
            iload 3 /* lastSlash */
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.fileName:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* onlyFileName */
        start local 4 // java.lang.String onlyFileName
         5: .line 627
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.builtFromString:Z
            ifne 17
         6: .line 628
            aload 4 /* onlyFileName */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 5 /* lastDot */
        start local 5 // int lastDot
         7: .line 630
            iload 5 /* lastDot */
            ifge 11
         8: .line 631
            bipush 9
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.fileName:Ljava/lang/String;
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Object;)V
         9: .line 632
            new java.lang.StringBuilder
            dup
            aload 4 /* onlyFileName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".g"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* onlyFileNameNoSuffix */
        start local 6 // java.lang.String onlyFileNameNoSuffix
        10: .line 633
            goto 12
        end local 6 // java.lang.String onlyFileNameNoSuffix
        11: .line 635
      StackMap locals: org.antlr.tool.Grammar java.lang.String java.lang.String int java.lang.String int
      StackMap stack:
            aload 4 /* onlyFileName */
            iconst_0
            iload 5 /* lastDot */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 6 /* onlyFileNameNoSuffix */
        start local 6 // java.lang.String onlyFileNameNoSuffix
        12: .line 637
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* name */
            aload 6 /* onlyFileNameNoSuffix */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
        13: .line 638
            bipush 8
        14: .line 639
            aload 1 /* name */
        15: .line 640
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.fileName:Ljava/lang/String;
        16: .line 638
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Object;Ljava/lang/Object;)V
        end local 6 // java.lang.String onlyFileNameNoSuffix
        end local 5 // int lastDot
        17: .line 643
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            putfield org.antlr.tool.Grammar.name:Ljava/lang/String;
        18: .line 644
            return
        end local 4 // java.lang.String onlyFileName
        end local 3 // int lastSlash
        end local 2 // java.lang.String saneFile
        end local 1 // java.lang.String name
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   19     0                  this  Lorg/antlr/tool/Grammar;
            0   19     1                  name  Ljava/lang/String;
            3   19     2              saneFile  Ljava/lang/String;
            4   19     3             lastSlash  I
            5   19     4          onlyFileName  Ljava/lang/String;
            7   17     5               lastDot  I
           10   11     6  onlyFileNameNoSuffix  Ljava/lang/String;
           12   17     6  onlyFileNameNoSuffix  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public void setGrammarContent(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String grammarString
         0: .line 647
            new java.io.StringReader
            dup
            aload 1 /* grammarString */
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
            astore 2 /* r */
        start local 2 // java.io.StringReader r
         1: .line 648
            aload 0 /* this */
            aload 2 /* r */
            invokevirtual org.antlr.tool.Grammar.parseAndBuildAST:(Ljava/io/Reader;)V
         2: .line 649
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            invokevirtual org.antlr.tool.CompositeGrammar.assignTokenTypes:()V
         3: .line 650
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            invokevirtual org.antlr.tool.CompositeGrammar.defineGrammarSymbols:()V
         4: .line 651
            return
        end local 2 // java.io.StringReader r
        end local 1 // java.lang.String grammarString
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/antlr/tool/Grammar;
            0    5     1  grammarString  Ljava/lang/String;
            1    5     2              r  Ljava/io/StringReader;
    Exceptions:
      throws org.antlr.runtime.RecognitionException
    MethodParameters:
               Name  Flags
      grammarString  

  public void parseAndBuildAST();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 657
            aconst_null
            astore 2 /* br */
        start local 2 // java.io.BufferedReader br
         1: .line 659
            new java.io.FileReader
            dup
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.fileName:Ljava/lang/String;
            invokespecial java.io.FileReader.<init>:(Ljava/lang/String;)V
            astore 1 /* fr */
        start local 1 // java.io.FileReader fr
         2: .line 660
            new java.io.BufferedReader
            dup
            aload 1 /* fr */
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 2 /* br */
         3: .line 661
            aload 0 /* this */
            aload 2 /* br */
            invokevirtual org.antlr.tool.Grammar.parseAndBuildAST:(Ljava/io/Reader;)V
         4: .line 662
            aload 2 /* br */
            invokevirtual java.io.BufferedReader.close:()V
         5: .line 663
            aconst_null
            astore 2 /* br */
         6: .line 664
            goto 11
        end local 1 // java.io.FileReader fr
         7: .line 665
      StackMap locals: org.antlr.tool.Grammar top java.io.BufferedReader
      StackMap stack: java.lang.Throwable
            astore 3
         8: .line 666
            aload 2 /* br */
            ifnull 10
         9: .line 667
            aload 2 /* br */
            invokevirtual java.io.BufferedReader.close:()V
        10: .line 669
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 3
            athrow
        start local 1 // java.io.FileReader fr
        11: .line 666
      StackMap locals: org.antlr.tool.Grammar java.io.FileReader java.io.BufferedReader
      StackMap stack:
            aload 2 /* br */
            ifnull 13
        12: .line 667
            aload 2 /* br */
            invokevirtual java.io.BufferedReader.close:()V
        13: .line 670
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.io.BufferedReader br
        end local 1 // java.io.FileReader fr
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lorg/antlr/tool/Grammar;
            2    7     1    fr  Ljava/io/FileReader;
           11   14     1    fr  Ljava/io/FileReader;
            1   14     2    br  Ljava/io/BufferedReader;
      Exception table:
        from    to  target  type
           1     7       7  any
    Exceptions:
      throws java.io.IOException

  public void parseAndBuildAST(java.io.Reader);
    descriptor: (Ljava/io/Reader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.io.Reader r
         0: .line 676
            new org.antlr.grammar.v3.ANTLRLexer
            dup
            new org.antlr.runtime.ANTLRReaderStream
            dup
            aload 1 /* r */
            invokespecial org.antlr.runtime.ANTLRReaderStream.<init>:(Ljava/io/Reader;)V
            invokespecial org.antlr.grammar.v3.ANTLRLexer.<init>:(Lorg/antlr/runtime/CharStream;)V
            astore 2 /* lexer */
        start local 2 // org.antlr.grammar.v3.ANTLRLexer lexer
         1: .line 677
            goto 5
        end local 2 // org.antlr.grammar.v3.ANTLRLexer lexer
      StackMap locals:
      StackMap stack: java.io.IOException
         2: astore 3 /* e */
        start local 3 // java.io.IOException e
         3: .line 678
            new java.lang.StringBuilder
            dup
            ldc "unexpected stream error from parsing "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.fileName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* e */
            invokestatic org.antlr.tool.ErrorManager.internalError:(Ljava/lang/Object;Ljava/lang/Throwable;)V
         4: .line 679
            return
        end local 3 // java.io.IOException e
        start local 2 // org.antlr.grammar.v3.ANTLRLexer lexer
         5: .line 682
      StackMap locals: org.antlr.grammar.v3.ANTLRLexer
      StackMap stack:
            aload 2 /* lexer */
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getFileName:()Ljava/lang/String;
            invokevirtual org.antlr.grammar.v3.ANTLRLexer.setFileName:(Ljava/lang/String;)V
         6: .line 683
            aload 0 /* this */
            new org.antlr.runtime.CommonTokenStream
            dup
            aload 2 /* lexer */
            invokespecial org.antlr.runtime.CommonTokenStream.<init>:(Lorg/antlr/runtime/TokenSource;)V
            putfield org.antlr.tool.Grammar.tokenBuffer:Lorg/antlr/runtime/CommonTokenStream;
         7: .line 684
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.tokenBuffer:Lorg/antlr/runtime/CommonTokenStream;
            invokestatic org.antlr.grammar.v3.ANTLRParser.createParser:(Lorg/antlr/runtime/TokenStream;)Lorg/antlr/grammar/v3/ANTLRParser;
            astore 3 /* parser */
        start local 3 // org.antlr.grammar.v3.ANTLRParser parser
         8: .line 685
            aload 3 /* parser */
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getFileName:()Ljava/lang/String;
            invokevirtual org.antlr.grammar.v3.ANTLRParser.setFileName:(Ljava/lang/String;)V
         9: .line 686
            aconst_null
            astore 4 /* result */
        start local 4 // org.antlr.grammar.v3.ANTLRParser$grammar__return result
        10: .line 688
            aload 3 /* parser */
            aload 0 /* this */
            invokevirtual org.antlr.grammar.v3.ANTLRParser.grammar_:(Lorg/antlr/tool/Grammar;)Lorg/antlr/grammar/v3/ANTLRParser$grammar__return;
            astore 4 /* result */
        11: .line 689
            goto 14
        12: .line 690
      StackMap locals: org.antlr.tool.Grammar java.io.Reader org.antlr.grammar.v3.ANTLRLexer org.antlr.grammar.v3.ANTLRParser org.antlr.grammar.v3.ANTLRParser$grammar__return
      StackMap stack: org.antlr.runtime.RecognitionException
            astore 5 /* re */
        start local 5 // org.antlr.runtime.RecognitionException re
        13: .line 691
            new java.lang.StringBuilder
            dup
            ldc "unexpected parser recognition error from "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.fileName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* re */
            invokestatic org.antlr.tool.ErrorManager.internalError:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 5 // org.antlr.runtime.RecognitionException re
        14: .line 694
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.dealWithTreeFilterMode:()V
        15: .line 696
            aload 2 /* lexer */
            getfield org.antlr.grammar.v3.ANTLRLexer.hasASTOperator:Z
            ifeq 26
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.buildAST:()Z
            ifne 26
        16: .line 697
            aload 0 /* this */
            ldc "output"
            invokevirtual org.antlr.tool.Grammar.getOption:(Ljava/lang/String;)Ljava/lang/Object;
            astore 5 /* value */
        start local 5 // java.lang.Object value
        17: .line 698
            aload 5 /* value */
            ifnonnull 23
        18: .line 699
            sipush 149
        19: .line 700
            aload 0 /* this */
            aconst_null
        20: .line 699
            invokestatic org.antlr.tool.ErrorManager.grammarWarning:(ILorg/antlr/tool/Grammar;Lorg/antlr/runtime/Token;)V
        21: .line 701
            aload 0 /* this */
            ldc "output"
            ldc "AST"
            aconst_null
            invokevirtual org.antlr.tool.Grammar.setOption:(Ljava/lang/String;Ljava/lang/Object;Lorg/antlr/runtime/Token;)Ljava/lang/String;
            pop
        22: .line 702
            goto 26
        23: .line 704
      StackMap locals: java.lang.Object
      StackMap stack:
            sipush 164
        24: .line 705
            aload 0 /* this */
            aconst_null
            aload 5 /* value */
        25: .line 704
            invokestatic org.antlr.tool.ErrorManager.grammarError:(ILorg/antlr/tool/Grammar;Lorg/antlr/runtime/Token;Ljava/lang/Object;)V
        end local 5 // java.lang.Object value
        26: .line 709
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* result */
            invokevirtual org.antlr.grammar.v3.ANTLRParser$grammar__return.getTree:()Lorg/antlr/tool/GrammarAST;
            invokevirtual org.antlr.tool.Grammar.setGrammarTree:(Lorg/antlr/tool/GrammarAST;)V
        27: .line 713
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.grammarTree:Lorg/antlr/tool/GrammarAST;
            invokevirtual org.antlr.tool.GrammarAST.setUnknownTokenBoundaries:()V
        28: .line 715
            aload 0 /* this */
            aload 2 /* lexer */
            invokevirtual org.antlr.grammar.v3.ANTLRLexer.getFileName:()Ljava/lang/String;
            invokevirtual org.antlr.tool.Grammar.setFileName:(Ljava/lang/String;)V
        29: .line 716
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.grammarTree:Lorg/antlr/tool/GrammarAST;
            bipush 79
            invokevirtual org.antlr.tool.GrammarAST.findFirstType:(I)Lorg/antlr/tool/GrammarAST;
            ifnonnull 31
        30: .line 717
            sipush 150
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getFileName:()Ljava/lang/String;
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Object;)V
        31: .line 719
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.antlr.grammar.v3.ANTLRParser$grammar__return result
        end local 3 // org.antlr.grammar.v3.ANTLRParser parser
        end local 2 // org.antlr.grammar.v3.ANTLRLexer lexer
        end local 1 // java.io.Reader r
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   32     0    this  Lorg/antlr/tool/Grammar;
            0   32     1       r  Ljava/io/Reader;
            1    2     2   lexer  Lorg/antlr/grammar/v3/ANTLRLexer;
            5   32     2   lexer  Lorg/antlr/grammar/v3/ANTLRLexer;
            3    5     3       e  Ljava/io/IOException;
            8   32     3  parser  Lorg/antlr/grammar/v3/ANTLRParser;
           10   32     4  result  Lorg/antlr/grammar/v3/ANTLRParser$grammar__return;
           13   14     5      re  Lorg/antlr/runtime/RecognitionException;
           17   26     5   value  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
          10    11      12  Class org.antlr.runtime.RecognitionException
    MethodParameters:
      Name  Flags
      r     

  protected void dealWithTreeFilterMode();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 722
            aload 0 /* this */
            ldc "filter"
            invokevirtual org.antlr.tool.Grammar.getOption:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* filterMode */
        start local 1 // java.lang.Object filterMode
         1: .line 723
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.type:I
            iconst_3
            if_icmpne 21
            aload 1 /* filterMode */
            ifnull 21
            aload 1 /* filterMode */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            ldc "true"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 21
         2: .line 729
            aload 0 /* this */
            ldc "backtrack"
            invokevirtual org.antlr.tool.Grammar.getOption:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* backtrack */
        start local 2 // java.lang.Object backtrack
         3: .line 730
            aload 0 /* this */
            ldc "output"
            invokevirtual org.antlr.tool.Grammar.getOption:(Ljava/lang/String;)Ljava/lang/Object;
            astore 3 /* output */
        start local 3 // java.lang.Object output
         4: .line 731
            aload 0 /* this */
            ldc "rewrite"
            invokevirtual org.antlr.tool.Grammar.getOption:(Ljava/lang/String;)Ljava/lang/Object;
            astore 4 /* rewrite */
        start local 4 // java.lang.Object rewrite
         5: .line 732
            aload 2 /* backtrack */
            ifnull 9
            aload 2 /* backtrack */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            ldc "true"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
         6: .line 733
            sipush 167
         7: .line 734
            ldc "backtrack"
            aload 2 /* backtrack */
         8: .line 733
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Object;Ljava/lang/Object;)V
         9: .line 736
      StackMap locals: org.antlr.tool.Grammar java.lang.Object java.lang.Object java.lang.Object java.lang.Object
      StackMap stack:
            aload 3 /* output */
            ifnull 14
            aload 3 /* output */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            ldc "AST"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 14
        10: .line 737
            sipush 167
        11: .line 738
            ldc "output"
            aload 3 /* output */
        12: .line 737
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Object;Ljava/lang/Object;)V
        13: .line 739
            aload 0 /* this */
            ldc "output"
            ldc ""
            aconst_null
            invokevirtual org.antlr.tool.Grammar.setOption:(Ljava/lang/String;Ljava/lang/Object;Lorg/antlr/runtime/Token;)Ljava/lang/String;
            pop
        14: .line 741
      StackMap locals:
      StackMap stack:
            aload 4 /* rewrite */
            ifnull 18
            aload 4 /* rewrite */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            ldc "true"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 18
        15: .line 742
            sipush 167
        16: .line 743
            ldc "rewrite"
            aload 4 /* rewrite */
        17: .line 742
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Object;Ljava/lang/Object;)V
        18: .line 746
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "backtrack"
            ldc "true"
            aconst_null
            invokevirtual org.antlr.tool.Grammar.setOption:(Ljava/lang/String;Ljava/lang/Object;Lorg/antlr/runtime/Token;)Ljava/lang/String;
            pop
        19: .line 747
            aload 3 /* output */
            ifnull 21
            aload 3 /* output */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            ldc "AST"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 21
        20: .line 748
            aload 0 /* this */
            ldc "rewrite"
            ldc "true"
            aconst_null
            invokevirtual org.antlr.tool.Grammar.setOption:(Ljava/lang/String;Ljava/lang/Object;Lorg/antlr/runtime/Token;)Ljava/lang/String;
            pop
        end local 4 // java.lang.Object rewrite
        end local 3 // java.lang.Object output
        end local 2 // java.lang.Object backtrack
        21: .line 753
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object filterMode
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0        this  Lorg/antlr/tool/Grammar;
            1   22     1  filterMode  Ljava/lang/Object;
            3   21     2   backtrack  Ljava/lang/Object;
            4   21     3      output  Ljava/lang/Object;
            5   21     4     rewrite  Ljava/lang/Object;

  public void translateLeftRecursiveRule(org.antlr.tool.GrammarAST);
    descriptor: (Lorg/antlr/tool/GrammarAST;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.tool.GrammarAST ruleAST
         0: .line 757
            new org.antlr.runtime.tree.CommonTreeNodeStream
            dup
            aload 1 /* ruleAST */
            invokespecial org.antlr.runtime.tree.CommonTreeNodeStream.<init>:(Ljava/lang/Object;)V
            astore 2 /* input */
        start local 2 // org.antlr.runtime.tree.CommonTreeNodeStream input
         1: .line 759
            new org.antlr.tool.LeftRecursiveRuleAnalyzer
            dup
            aload 2 /* input */
            aload 0 /* this */
            aload 1 /* ruleAST */
            getfield org.antlr.tool.GrammarAST.enclosingRuleName:Ljava/lang/String;
            invokespecial org.antlr.tool.LeftRecursiveRuleAnalyzer.<init>:(Lorg/antlr/runtime/tree/TreeNodeStream;Lorg/antlr/tool/Grammar;Ljava/lang/String;)V
         2: .line 758
            astore 3 /* leftRecursiveRuleWalker */
        start local 3 // org.antlr.tool.LeftRecursiveRuleAnalyzer leftRecursiveRuleWalker
         3: .line 760
            iconst_0
            istore 4 /* isLeftRec */
        start local 4 // boolean isLeftRec
         4: .line 763
            aload 3 /* leftRecursiveRuleWalker */
            aload 0 /* this */
            invokevirtual org.antlr.tool.LeftRecursiveRuleAnalyzer.rec_rule:(Lorg/antlr/tool/Grammar;)Z
            istore 4 /* isLeftRec */
         5: .line 764
            goto 8
         6: .line 765
      StackMap locals: org.antlr.tool.Grammar org.antlr.tool.GrammarAST org.antlr.runtime.tree.CommonTreeNodeStream org.antlr.tool.LeftRecursiveRuleAnalyzer int
      StackMap stack: org.antlr.runtime.RecognitionException
            astore 5 /* re */
        start local 5 // org.antlr.runtime.RecognitionException re
         7: .line 766
            bipush 15
            aload 5 /* re */
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Throwable;)V
        end local 5 // org.antlr.runtime.RecognitionException re
         8: .line 768
      StackMap locals:
      StackMap stack:
            iload 4 /* isLeftRec */
            ifne 9
            return
         9: .line 769
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* rules */
        start local 5 // java.util.List rules
        10: .line 770
            aload 5 /* rules */
            aload 3 /* leftRecursiveRuleWalker */
            invokevirtual org.antlr.tool.LeftRecursiveRuleAnalyzer.getArtificialPrecStartRule:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 771
            aload 5 /* rules */
            aload 3 /* leftRecursiveRuleWalker */
            invokevirtual org.antlr.tool.LeftRecursiveRuleAnalyzer.getArtificialOpPrecRule:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        12: .line 772
            aload 5 /* rules */
            aload 3 /* leftRecursiveRuleWalker */
            invokevirtual org.antlr.tool.LeftRecursiveRuleAnalyzer.getArtificialPrimaryRule:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        13: .line 773
            aload 5 /* rules */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 17
      StackMap locals: org.antlr.tool.Grammar org.antlr.tool.GrammarAST org.antlr.runtime.tree.CommonTreeNodeStream org.antlr.tool.LeftRecursiveRuleAnalyzer int java.util.List top java.util.Iterator
      StackMap stack:
        14: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* r */
        start local 6 // java.lang.String r
        15: .line 774
            aload 0 /* this */
            aload 6 /* r */
            invokevirtual org.antlr.tool.Grammar.parseArtificialRule:(Ljava/lang/String;)Lorg/antlr/tool/GrammarAST;
            astore 8 /* t */
        start local 8 // org.antlr.tool.GrammarAST t
        16: .line 775
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.grammarTree:Lorg/antlr/tool/GrammarAST;
            aload 8 /* t */
            invokevirtual org.antlr.tool.Grammar.addRule:(Lorg/antlr/tool/GrammarAST;Lorg/antlr/tool/GrammarAST;)V
        end local 8 // org.antlr.tool.GrammarAST t
        end local 6 // java.lang.String r
        17: .line 773
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        18: .line 780
            return
        end local 5 // java.util.List rules
        end local 4 // boolean isLeftRec
        end local 3 // org.antlr.tool.LeftRecursiveRuleAnalyzer leftRecursiveRuleWalker
        end local 2 // org.antlr.runtime.tree.CommonTreeNodeStream input
        end local 1 // org.antlr.tool.GrammarAST ruleAST
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   19     0                     this  Lorg/antlr/tool/Grammar;
            0   19     1                  ruleAST  Lorg/antlr/tool/GrammarAST;
            1   19     2                    input  Lorg/antlr/runtime/tree/CommonTreeNodeStream;
            3   19     3  leftRecursiveRuleWalker  Lorg/antlr/tool/LeftRecursiveRuleAnalyzer;
            4   19     4                isLeftRec  Z
            7    8     5                       re  Lorg/antlr/runtime/RecognitionException;
           10   19     5                    rules  Ljava/util/List<Ljava/lang/String;>;
           15   17     6                        r  Ljava/lang/String;
           16   17     8                        t  Lorg/antlr/tool/GrammarAST;
      Exception table:
        from    to  target  type
           4     5       6  Class org.antlr.runtime.RecognitionException
    MethodParameters:
         Name  Flags
      ruleAST  

  public void defineGrammarSymbols();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 783
            getstatic org.antlr.Tool.internalOption_PrintGrammarTree:Z
            ifeq 2
         1: .line 784
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.grammarTree:Lorg/antlr/tool/GrammarAST;
            invokevirtual org.antlr.tool.GrammarAST.toStringList:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 789
      StackMap locals:
      StackMap stack:
            new org.antlr.grammar.v3.DefineGrammarItemsWalker
            dup
            new org.antlr.runtime.tree.CommonTreeNodeStream
            dup
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getGrammarTree:()Lorg/antlr/tool/GrammarAST;
            invokespecial org.antlr.runtime.tree.CommonTreeNodeStream.<init>:(Ljava/lang/Object;)V
            invokespecial org.antlr.grammar.v3.DefineGrammarItemsWalker.<init>:(Lorg/antlr/runtime/tree/TreeNodeStream;)V
            astore 1 /* defineItemsWalker */
        start local 1 // org.antlr.grammar.v3.DefineGrammarItemsWalker defineItemsWalker
         3: .line 791
            aload 1 /* defineItemsWalker */
            aload 0 /* this */
            invokevirtual org.antlr.grammar.v3.DefineGrammarItemsWalker.grammar_:(Lorg/antlr/tool/Grammar;)Lorg/antlr/grammar/v3/DefineGrammarItemsWalker$grammar__return;
            pop
         4: .line 792
            goto 9
         5: .line 793
      StackMap locals: org.antlr.tool.Grammar org.antlr.grammar.v3.DefineGrammarItemsWalker
      StackMap stack: org.antlr.runtime.RecognitionException
            astore 2 /* re */
        start local 2 // org.antlr.runtime.RecognitionException re
         6: .line 794
            bipush 15
         7: .line 795
            aload 2 /* re */
         8: .line 794
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Throwable;)V
        end local 2 // org.antlr.runtime.RecognitionException re
         9: .line 797
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.antlr.grammar.v3.DefineGrammarItemsWalker defineItemsWalker
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   10     0               this  Lorg/antlr/tool/Grammar;
            3   10     1  defineItemsWalker  Lorg/antlr/grammar/v3/DefineGrammarItemsWalker;
            6    9     2                 re  Lorg/antlr/runtime/RecognitionException;
      Exception table:
        from    to  target  type
           3     4       5  Class org.antlr.runtime.RecognitionException

  public void checkNameSpaceAndActions();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 801
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.examineAllExecutableActions:()V
         1: .line 802
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.checkAllRulesForUselessLabels:()V
         2: .line 804
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.nameSpaceChecker:Lorg/antlr/tool/NameSpaceChecker;
            invokevirtual org.antlr.tool.NameSpaceChecker.checkConflicts:()V
         3: .line 805
            return
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/antlr/tool/Grammar;

  public boolean validImport(org.antlr.tool.Grammar);
    descriptor: (Lorg/antlr/tool/Grammar;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.tool.Grammar delegate
         0: .line 809
            getstatic org.antlr.tool.Grammar.validDelegations:Lorg/antlr/misc/MultiMap;
            aload 1 /* delegate */
            getfield org.antlr.tool.Grammar.type:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.antlr.misc.MultiMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 2 /* validDelegators */
        start local 2 // java.util.List validDelegators
         1: .line 810
            aload 2 /* validDelegators */
            ifnull 2
            aload 2 /* validDelegators */
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.type:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 2
            iconst_1
            ireturn
      StackMap locals: java.util.List
      StackMap stack:
         2: iconst_0
            ireturn
        end local 2 // java.util.List validDelegators
        end local 1 // org.antlr.tool.Grammar delegate
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/antlr/tool/Grammar;
            0    3     1         delegate  Lorg/antlr/tool/Grammar;
            1    3     2  validDelegators  Ljava/util/List<Ljava/lang/Integer;>;
    MethodParameters:
          Name  Flags
      delegate  

  public java.lang.String getLexerGrammar();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 817
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.lexerGrammarST:Lorg/stringtemplate/v4/ST;
            ldc "literals"
            invokevirtual org.stringtemplate.v4.ST.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            ifnonnull 3
         1: .line 818
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.lexerGrammarST:Lorg/stringtemplate/v4/ST;
            ldc "rules"
            invokevirtual org.stringtemplate.v4.ST.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            ifnonnull 3
         2: .line 821
            aconst_null
            areturn
         3: .line 823
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.lexerGrammarST:Lorg/stringtemplate/v4/ST;
            ldc "name"
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.name:Ljava/lang/String;
            invokevirtual org.stringtemplate.v4.ST.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/stringtemplate/v4/ST;
            pop
         4: .line 825
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getActions:()Ljava/util/Map;
            ldc "lexer"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 11
         5: .line 826
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.lexerGrammarST:Lorg/stringtemplate/v4/ST;
            ldc "actionNames"
         6: .line 827
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getActions:()Ljava/util/Map;
            ldc "lexer"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
         7: .line 826
            invokevirtual org.stringtemplate.v4.ST.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/stringtemplate/v4/ST;
            pop
         8: .line 828
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.lexerGrammarST:Lorg/stringtemplate/v4/ST;
            ldc "actions"
         9: .line 829
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getActions:()Ljava/util/Map;
            ldc "lexer"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
        10: .line 828
            invokevirtual org.stringtemplate.v4.ST.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/stringtemplate/v4/ST;
            pop
        11: .line 832
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.options:Ljava/util/Map;
            ifnull 18
        12: .line 833
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.options:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 17
      StackMap locals: org.antlr.tool.Grammar top java.util.Iterator
      StackMap stack:
        13: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* optionName */
        start local 1 // java.lang.String optionName
        14: .line 834
            getstatic org.antlr.tool.Grammar.doNotCopyOptionsToLexer:Ljava/util/Set;
            aload 1 /* optionName */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 17
        15: .line 835
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.options:Ljava/util/Map;
            aload 1 /* optionName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* value */
        start local 3 // java.lang.Object value
        16: .line 836
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.lexerGrammarST:Lorg/stringtemplate/v4/ST;
            ldc "options.{name,value}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* optionName */
            aastore
            dup
            iconst_1
            aload 3 /* value */
            aastore
            invokevirtual org.stringtemplate.v4.ST.addAggr:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/stringtemplate/v4/ST;
            pop
        end local 3 // java.lang.Object value
        end local 1 // java.lang.String optionName
        17: .line 833
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        18: .line 840
      StackMap locals: org.antlr.tool.Grammar
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.lexerGrammarST:Lorg/stringtemplate/v4/ST;
            invokevirtual org.stringtemplate.v4.ST.render:()Ljava/lang/String;
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Lorg/antlr/tool/Grammar;
           14   17     1  optionName  Ljava/lang/String;
           16   17     3       value  Ljava/lang/Object;

  public java.lang.String getImplicitlyGeneratedLexerFileName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 844
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.name:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 845
            ldc "__"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 846
            ldc ".g"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 844
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/antlr/tool/Grammar;

  public java.lang.String getRecognizerName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 855
            ldc ""
            astore 1 /* suffix */
        start local 1 // java.lang.String suffix
         1: .line 856
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            aload 0 /* this */
            invokevirtual org.antlr.tool.CompositeGrammar.getDelegators:(Lorg/antlr/tool/Grammar;)Ljava/util/List;
            astore 2 /* grammarsFromRootToMe */
        start local 2 // java.util.List grammarsFromRootToMe
         2: .line 858
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.name:Ljava/lang/String;
            astore 3 /* qualifiedName */
        start local 3 // java.lang.String qualifiedName
         3: .line 859
            aload 2 /* grammarsFromRootToMe */
            ifnull 12
         4: .line 860
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 4 /* buf */
        start local 4 // java.lang.StringBuilder buf
         5: .line 861
            aload 2 /* grammarsFromRootToMe */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 9
      StackMap locals: org.antlr.tool.Grammar java.lang.String java.util.List java.lang.String java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         6: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.antlr.tool.Grammar
            astore 5 /* g */
        start local 5 // org.antlr.tool.Grammar g
         7: .line 862
            aload 4 /* buf */
            aload 5 /* g */
            getfield org.antlr.tool.Grammar.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 863
            aload 4 /* buf */
            bipush 95
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 5 // org.antlr.tool.Grammar g
         9: .line 861
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        10: .line 865
            aload 4 /* buf */
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 866
            aload 4 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* qualifiedName */
        end local 4 // java.lang.StringBuilder buf
        12: .line 868
      StackMap locals: org.antlr.tool.Grammar java.lang.String java.util.List java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.type:I
            iconst_4
            if_icmpeq 14
        13: .line 869
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.type:I
            iconst_1
            if_icmpne 15
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.implicitLexer:Z
            ifeq 15
        14: .line 871
      StackMap locals:
      StackMap stack:
            getstatic org.antlr.tool.Grammar.grammarTypeToFileNameSuffix:[Ljava/lang/String;
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.type:I
            aaload
            astore 1 /* suffix */
        15: .line 873
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 3 /* qualifiedName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* suffix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.String qualifiedName
        end local 2 // java.util.List grammarsFromRootToMe
        end local 1 // java.lang.String suffix
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   16     0                  this  Lorg/antlr/tool/Grammar;
            1   16     1                suffix  Ljava/lang/String;
            2   16     2  grammarsFromRootToMe  Ljava/util/List<Lorg/antlr/tool/Grammar;>;
            3   16     3         qualifiedName  Ljava/lang/String;
            5   12     4                   buf  Ljava/lang/StringBuilder;
            7    9     5                     g  Lorg/antlr/tool/Grammar;

  public org.antlr.tool.GrammarAST addArtificialMatchTokensRule(org.antlr.tool.GrammarAST, java.util.List<java.lang.String>, java.util.List<java.lang.String>, boolean);
    descriptor: (Lorg/antlr/tool/GrammarAST;Ljava/util/List;Ljava/util/List;Z)Lorg/antlr/tool/GrammarAST;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.tool.GrammarAST grammarAST
        start local 2 // java.util.List ruleNames
        start local 3 // java.util.List delegateNames
        start local 4 // boolean filterMode
         0: .line 896
            iload 4 /* filterMode */
            ifeq 5
         1: .line 897
            new org.stringtemplate.v4.ST
            dup
         2: .line 898
            ldc "Tokens options {k=1; backtrack=true;} : <rules; separator=\"|\">;"
         3: .line 897
            invokespecial org.stringtemplate.v4.ST.<init>:(Ljava/lang/String;)V
            astore 5 /* matchTokenRuleST */
        start local 5 // org.stringtemplate.v4.ST matchTokenRuleST
         4: .line 900
            goto 8
        end local 5 // org.stringtemplate.v4.ST matchTokenRuleST
         5: .line 902
      StackMap locals:
      StackMap stack:
            new org.stringtemplate.v4.ST
            dup
         6: .line 903
            ldc "Tokens : <rules; separator=\"|\">;"
         7: .line 902
            invokespecial org.stringtemplate.v4.ST.<init>:(Ljava/lang/String;)V
            astore 5 /* matchTokenRuleST */
        start local 5 // org.stringtemplate.v4.ST matchTokenRuleST
         8: .line 907
      StackMap locals: org.stringtemplate.v4.ST
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         9: goto 13
        10: .line 908
      StackMap locals: int
      StackMap stack:
            aload 2 /* ruleNames */
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* rname */
        start local 7 // java.lang.String rname
        11: .line 909
            aload 5 /* matchTokenRuleST */
            ldc "rules"
            aload 7 /* rname */
            invokevirtual org.stringtemplate.v4.ST.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/stringtemplate/v4/ST;
            pop
        end local 7 // java.lang.String rname
        12: .line 907
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 6 /* i */
            aload 2 /* ruleNames */
            invokeinterface java.util.List.size:()I
            if_icmplt 10
        end local 6 // int i
        14: .line 911
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        15: goto 19
        16: .line 912
      StackMap locals:
      StackMap stack:
            aload 3 /* delegateNames */
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* dname */
        start local 7 // java.lang.String dname
        17: .line 913
            aload 5 /* matchTokenRuleST */
            ldc "rules"
            new java.lang.StringBuilder
            dup
            aload 7 /* dname */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".Tokens"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.stringtemplate.v4.ST.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/stringtemplate/v4/ST;
            pop
        end local 7 // java.lang.String dname
        18: .line 911
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 6 /* i */
            aload 3 /* delegateNames */
            invokeinterface java.util.List.size:()I
            if_icmplt 16
        end local 6 // int i
        20: .line 916
            aload 0 /* this */
            aload 5 /* matchTokenRuleST */
            invokevirtual org.stringtemplate.v4.ST.render:()Ljava/lang/String;
            invokevirtual org.antlr.tool.Grammar.parseArtificialRule:(Ljava/lang/String;)Lorg/antlr/tool/GrammarAST;
            astore 6 /* r */
        start local 6 // org.antlr.tool.GrammarAST r
        21: .line 917
            aload 0 /* this */
            aload 1 /* grammarAST */
            aload 6 /* r */
            invokevirtual org.antlr.tool.Grammar.addRule:(Lorg/antlr/tool/GrammarAST;Lorg/antlr/tool/GrammarAST;)V
        22: .line 920
            aload 6 /* r */
            areturn
        end local 6 // org.antlr.tool.GrammarAST r
        end local 5 // org.stringtemplate.v4.ST matchTokenRuleST
        end local 4 // boolean filterMode
        end local 3 // java.util.List delegateNames
        end local 2 // java.util.List ruleNames
        end local 1 // org.antlr.tool.GrammarAST grammarAST
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   23     0              this  Lorg/antlr/tool/Grammar;
            0   23     1        grammarAST  Lorg/antlr/tool/GrammarAST;
            0   23     2         ruleNames  Ljava/util/List<Ljava/lang/String;>;
            0   23     3     delegateNames  Ljava/util/List<Ljava/lang/String;>;
            0   23     4        filterMode  Z
            4    5     5  matchTokenRuleST  Lorg/stringtemplate/v4/ST;
            8   23     5  matchTokenRuleST  Lorg/stringtemplate/v4/ST;
            9   14     6                 i  I
           11   12     7             rname  Ljava/lang/String;
           15   20     6                 i  I
           17   18     7             dname  Ljava/lang/String;
           21   23     6                 r  Lorg/antlr/tool/GrammarAST;
    Signature: (Lorg/antlr/tool/GrammarAST;Ljava/util/List<Ljava/lang/String;>;Ljava/util/List<Ljava/lang/String;>;Z)Lorg/antlr/tool/GrammarAST;
    MethodParameters:
               Name  Flags
      grammarAST     
      ruleNames      
      delegateNames  
      filterMode     

  public org.antlr.tool.GrammarAST parseArtificialRule(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/antlr/tool/GrammarAST;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String ruleText
         0: .line 924
            new org.antlr.grammar.v3.ANTLRLexer
            dup
            new org.antlr.runtime.ANTLRStringStream
            dup
            aload 1 /* ruleText */
            invokespecial org.antlr.runtime.ANTLRStringStream.<init>:(Ljava/lang/String;)V
            invokespecial org.antlr.grammar.v3.ANTLRLexer.<init>:(Lorg/antlr/runtime/CharStream;)V
            astore 2 /* lexer */
        start local 2 // org.antlr.grammar.v3.ANTLRLexer lexer
         1: .line 925
            new org.antlr.runtime.CommonTokenStream
            dup
            aload 2 /* lexer */
            invokespecial org.antlr.runtime.CommonTokenStream.<init>:(Lorg/antlr/runtime/TokenSource;)V
            invokestatic org.antlr.grammar.v3.ANTLRParser.createParser:(Lorg/antlr/runtime/TokenStream;)Lorg/antlr/grammar/v3/ANTLRParser;
            astore 3 /* parser */
        start local 3 // org.antlr.grammar.v3.ANTLRParser parser
         2: .line 926
            aload 3 /* parser */
            aload 0 /* this */
            invokevirtual org.antlr.grammar.v3.ANTLRParser.setGrammar:(Lorg/antlr/tool/Grammar;)V
         3: .line 927
            aload 3 /* parser */
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.type:I
            invokevirtual org.antlr.grammar.v3.ANTLRParser.setGrammarType:(I)V
         4: .line 929
            aload 3 /* parser */
            invokevirtual org.antlr.grammar.v3.ANTLRParser.rule:()Lorg/antlr/grammar/v3/ANTLRParser$rule_return;
            astore 4 /* result */
        start local 4 // org.antlr.grammar.v3.ANTLRParser$rule_return result
         5: .line 930
            aload 4 /* result */
            invokevirtual org.antlr.grammar.v3.ANTLRParser$rule_return.getTree:()Lorg/antlr/tool/GrammarAST;
         6: areturn
        end local 4 // org.antlr.grammar.v3.ANTLRParser$rule_return result
         7: .line 932
      StackMap locals: org.antlr.tool.Grammar java.lang.String org.antlr.grammar.v3.ANTLRLexer org.antlr.grammar.v3.ANTLRParser
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
         8: .line 933
            bipush 12
         9: .line 934
            aload 4 /* e */
        10: .line 933
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Throwable;)V
        11: .line 935
            aconst_null
            areturn
        end local 4 // java.lang.Exception e
        end local 3 // org.antlr.grammar.v3.ANTLRParser parser
        end local 2 // org.antlr.grammar.v3.ANTLRLexer lexer
        end local 1 // java.lang.String ruleText
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lorg/antlr/tool/Grammar;
            0   12     1  ruleText  Ljava/lang/String;
            1   12     2     lexer  Lorg/antlr/grammar/v3/ANTLRLexer;
            2   12     3    parser  Lorg/antlr/grammar/v3/ANTLRParser;
            5    7     4    result  Lorg/antlr/grammar/v3/ANTLRParser$rule_return;
            8   12     4         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           4     6       7  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      ruleText  

  public void addRule(org.antlr.tool.GrammarAST, org.antlr.tool.GrammarAST);
    descriptor: (Lorg/antlr/tool/GrammarAST;Lorg/antlr/tool/GrammarAST;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.tool.GrammarAST grammarTree
        start local 2 // org.antlr.tool.GrammarAST t
         0: .line 940
            aconst_null
            astore 3 /* p */
        start local 3 // org.antlr.tool.GrammarAST p
         1: .line 941
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 7
         3: .line 942
      StackMap locals: org.antlr.tool.GrammarAST int
      StackMap stack:
            aload 1 /* grammarTree */
            iload 4 /* i */
            invokevirtual org.antlr.tool.GrammarAST.getChild:(I)Lorg/antlr/runtime/tree/Tree;
            checkcast org.antlr.tool.GrammarAST
            astore 3 /* p */
         4: .line 943
            aload 3 /* p */
            ifnull 8
            aload 3 /* p */
            invokevirtual org.antlr.tool.GrammarAST.getType:()I
            bipush 79
            if_icmpeq 8
            aload 3 /* p */
            invokevirtual org.antlr.tool.GrammarAST.getType:()I
            bipush 65
            if_icmpne 6
         5: .line 944
            goto 8
         6: .line 941
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            aload 1 /* grammarTree */
            invokevirtual org.antlr.tool.GrammarAST.getChildCount:()I
            if_icmplt 3
        end local 4 // int i
         8: .line 948
      StackMap locals:
      StackMap stack:
            aload 3 /* p */
            ifnull 10
         9: .line 949
            aload 1 /* grammarTree */
            aload 2 /* t */
            invokevirtual org.antlr.tool.GrammarAST.addChild:(Lorg/antlr/runtime/tree/Tree;)V
        10: .line 951
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.antlr.tool.GrammarAST p
        end local 2 // org.antlr.tool.GrammarAST t
        end local 1 // org.antlr.tool.GrammarAST grammarTree
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lorg/antlr/tool/Grammar;
            0   11     1  grammarTree  Lorg/antlr/tool/GrammarAST;
            0   11     2            t  Lorg/antlr/tool/GrammarAST;
            1   11     3            p  Lorg/antlr/tool/GrammarAST;
            2    8     4            i  I
    MethodParameters:
             Name  Flags
      grammarTree  
      t            

  protected java.util.List<? extends org.antlr.tool.GrammarAST> getArtificialRulesForSyntacticPredicates(java.util.LinkedHashMap<java.lang.String, org.antlr.tool.GrammarAST>);
    descriptor: (Ljava/util/LinkedHashMap;)Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.util.LinkedHashMap nameToSynpredASTMap
         0: .line 958
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* rules */
        start local 2 // java.util.List rules
         1: .line 959
            aload 1 /* nameToSynpredASTMap */
            ifnonnull 3
         2: .line 960
            aload 2 /* rules */
            areturn
         3: .line 962
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.grammarTree:Lorg/antlr/tool/GrammarAST;
            invokevirtual org.antlr.tool.GrammarAST.getType:()I
            bipush 50
            if_icmpne 4
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 3 /* isLexer */
        start local 3 // boolean isLexer
         6: .line 963
            aload 1 /* nameToSynpredASTMap */
            invokevirtual java.util.LinkedHashMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 16
      StackMap locals: org.antlr.tool.Grammar java.util.LinkedHashMap java.util.List int top java.util.Iterator
      StackMap stack:
         7: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* entry */
        start local 4 // java.util.Map$Entry entry
         8: .line 964
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* synpredName */
        start local 6 // java.lang.String synpredName
         9: .line 965
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.antlr.tool.GrammarAST
            astore 7 /* fragmentAST */
        start local 7 // org.antlr.tool.GrammarAST fragmentAST
        10: .line 967
            aload 6 /* synpredName */
        11: .line 968
            aload 7 /* fragmentAST */
        12: .line 969
            iload 3 /* isLexer */
        13: .line 967
            invokestatic org.antlr.grammar.v3.ANTLRParser.createSimpleRuleAST:(Ljava/lang/String;Lorg/antlr/tool/GrammarAST;Z)Lorg/antlr/tool/GrammarAST;
        14: .line 966
            astore 8 /* ruleAST */
        start local 8 // org.antlr.tool.GrammarAST ruleAST
        15: .line 970
            aload 2 /* rules */
            aload 8 /* ruleAST */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // org.antlr.tool.GrammarAST ruleAST
        end local 7 // org.antlr.tool.GrammarAST fragmentAST
        end local 6 // java.lang.String synpredName
        end local 4 // java.util.Map$Entry entry
        16: .line 963
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        17: .line 972
            aload 2 /* rules */
            areturn
        end local 3 // boolean isLexer
        end local 2 // java.util.List rules
        end local 1 // java.util.LinkedHashMap nameToSynpredASTMap
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   18     0                 this  Lorg/antlr/tool/Grammar;
            0   18     1  nameToSynpredASTMap  Ljava/util/LinkedHashMap<Ljava/lang/String;Lorg/antlr/tool/GrammarAST;>;
            1   18     2                rules  Ljava/util/List<Lorg/antlr/tool/GrammarAST;>;
            6   18     3              isLexer  Z
            8   16     4                entry  Ljava/util/Map$Entry<Ljava/lang/String;Lorg/antlr/tool/GrammarAST;>;
            9   16     6          synpredName  Ljava/lang/String;
           10   16     7          fragmentAST  Lorg/antlr/tool/GrammarAST;
           15   16     8              ruleAST  Lorg/antlr/tool/GrammarAST;
    Signature: (Ljava/util/LinkedHashMap<Ljava/lang/String;Lorg/antlr/tool/GrammarAST;>;)Ljava/util/List<+Lorg/antlr/tool/GrammarAST;>;
    MethodParameters:
                     Name  Flags
      nameToSynpredASTMap  

  public void addRulesForSyntacticPredicates();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 978
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.nameToSynpredASTMap:Ljava/util/LinkedHashMap;
            invokevirtual org.antlr.tool.Grammar.getArtificialRulesForSyntacticPredicates:(Ljava/util/LinkedHashMap;)Ljava/util/List;
         1: .line 977
            astore 1 /* synpredRules */
        start local 1 // java.util.List synpredRules
         2: .line 979
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 7
         4: .line 980
      StackMap locals: java.util.List int
      StackMap stack:
            aload 1 /* synpredRules */
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.antlr.tool.GrammarAST
            astore 3 /* rAST */
        start local 3 // org.antlr.tool.GrammarAST rAST
         5: .line 981
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.grammarTree:Lorg/antlr/tool/GrammarAST;
            aload 3 /* rAST */
            invokevirtual org.antlr.tool.GrammarAST.addChild:(Lorg/antlr/runtime/tree/Tree;)V
        end local 3 // org.antlr.tool.GrammarAST rAST
         6: .line 979
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 1 /* synpredRules */
            invokeinterface java.util.List.size:()I
            if_icmplt 4
        end local 2 // int i
         8: .line 983
            return
        end local 1 // java.util.List synpredRules
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lorg/antlr/tool/Grammar;
            2    9     1  synpredRules  Ljava/util/List<+Lorg/antlr/tool/GrammarAST;>;
            3    8     2             i  I
            5    6     3          rAST  Lorg/antlr/tool/GrammarAST;

  public void createRuleStartAndStopNFAStates();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 1010
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.nfa:Lorg/antlr/analysis/NFA;
            ifnull 2
         1: .line 1011
            return
         2: .line 1013
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.antlr.analysis.NFA
            dup
            aload 0 /* this */
            invokespecial org.antlr.analysis.NFA.<init>:(Lorg/antlr/tool/Grammar;)V
            putfield org.antlr.tool.Grammar.nfa:Lorg/antlr/analysis/NFA;
         3: .line 1014
            aload 0 /* this */
            new org.antlr.tool.NFAFactory
            dup
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.nfa:Lorg/antlr/analysis/NFA;
            invokespecial org.antlr.tool.NFAFactory.<init>:(Lorg/antlr/analysis/NFA;)V
            putfield org.antlr.tool.Grammar.factory:Lorg/antlr/tool/NFAFactory;
         4: .line 1016
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getRules:()Ljava/util/Collection;
            astore 1 /* rules */
        start local 1 // java.util.Collection rules
         5: .line 1017
            aload 1 /* rules */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 17
      StackMap locals: org.antlr.tool.Grammar java.util.Collection top java.util.Iterator
      StackMap stack:
         6: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.antlr.tool.Rule
            astore 2 /* r */
        start local 2 // org.antlr.tool.Rule r
         7: .line 1018
            aload 2 /* r */
            getfield org.antlr.tool.Rule.name:Ljava/lang/String;
            astore 4 /* ruleName */
        start local 4 // java.lang.String ruleName
         8: .line 1019
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.factory:Lorg/antlr/tool/NFAFactory;
            invokevirtual org.antlr.tool.NFAFactory.newState:()Lorg/antlr/analysis/NFAState;
            astore 5 /* ruleBeginState */
        start local 5 // org.antlr.analysis.NFAState ruleBeginState
         9: .line 1020
            aload 5 /* ruleBeginState */
            new java.lang.StringBuilder
            dup
            ldc "rule "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* ruleName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " start"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.antlr.analysis.NFAState.setDescription:(Ljava/lang/String;)V
        10: .line 1021
            aload 5 /* ruleBeginState */
            aload 2 /* r */
            putfield org.antlr.analysis.NFAState.enclosingRule:Lorg/antlr/tool/Rule;
        11: .line 1022
            aload 2 /* r */
            aload 5 /* ruleBeginState */
            putfield org.antlr.tool.Rule.startState:Lorg/antlr/analysis/NFAState;
        12: .line 1023
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.factory:Lorg/antlr/tool/NFAFactory;
            invokevirtual org.antlr.tool.NFAFactory.newState:()Lorg/antlr/analysis/NFAState;
            astore 6 /* ruleEndState */
        start local 6 // org.antlr.analysis.NFAState ruleEndState
        13: .line 1024
            aload 6 /* ruleEndState */
            new java.lang.StringBuilder
            dup
            ldc "rule "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* ruleName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " end"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.antlr.analysis.NFAState.setDescription:(Ljava/lang/String;)V
        14: .line 1025
            aload 6 /* ruleEndState */
            iconst_1
            invokevirtual org.antlr.analysis.NFAState.setAcceptState:(Z)V
        15: .line 1026
            aload 6 /* ruleEndState */
            aload 2 /* r */
            putfield org.antlr.analysis.NFAState.enclosingRule:Lorg/antlr/tool/Rule;
        16: .line 1027
            aload 2 /* r */
            aload 6 /* ruleEndState */
            putfield org.antlr.tool.Rule.stopState:Lorg/antlr/analysis/NFAState;
        end local 6 // org.antlr.analysis.NFAState ruleEndState
        end local 5 // org.antlr.analysis.NFAState ruleBeginState
        end local 4 // java.lang.String ruleName
        end local 2 // org.antlr.tool.Rule r
        17: .line 1017
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        18: .line 1029
            return
        end local 1 // java.util.Collection rules
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   19     0            this  Lorg/antlr/tool/Grammar;
            5   19     1           rules  Ljava/util/Collection<Lorg/antlr/tool/Rule;>;
            7   17     2               r  Lorg/antlr/tool/Rule;
            8   17     4        ruleName  Ljava/lang/String;
            9   17     5  ruleBeginState  Lorg/antlr/analysis/NFAState;
           13   17     6    ruleEndState  Lorg/antlr/analysis/NFAState;

  public void buildNFA();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 1032
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.nfa:Lorg/antlr/analysis/NFA;
            ifnonnull 2
         1: .line 1033
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.createRuleStartAndStopNFAStates:()V
         2: .line 1035
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.nfa:Lorg/antlr/analysis/NFA;
            getfield org.antlr.analysis.NFA.complete:Z
            ifeq 4
         3: .line 1037
            return
         4: .line 1040
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getRules:()Ljava/util/Collection;
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 6
         5: .line 1041
            return
         6: .line 1044
      StackMap locals:
      StackMap stack:
            new org.antlr.runtime.tree.CommonTreeNodeStream
            dup
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getGrammarTree:()Lorg/antlr/tool/GrammarAST;
            invokespecial org.antlr.runtime.tree.CommonTreeNodeStream.<init>:(Ljava/lang/Object;)V
            astore 1 /* input */
        start local 1 // org.antlr.runtime.tree.CommonTreeNodeStream input
         7: .line 1045
            new org.antlr.grammar.v3.TreeToNFAConverter
            dup
            aload 1 /* input */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.nfa:Lorg/antlr/analysis/NFA;
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.factory:Lorg/antlr/tool/NFAFactory;
            invokespecial org.antlr.grammar.v3.TreeToNFAConverter.<init>:(Lorg/antlr/runtime/tree/TreeNodeStream;Lorg/antlr/tool/Grammar;Lorg/antlr/analysis/NFA;Lorg/antlr/tool/NFAFactory;)V
            astore 2 /* nfaBuilder */
        start local 2 // org.antlr.grammar.v3.TreeToNFAConverter nfaBuilder
         8: .line 1047
            aload 2 /* nfaBuilder */
            invokevirtual org.antlr.grammar.v3.TreeToNFAConverter.grammar_:()V
         9: .line 1048
            goto 15
        10: .line 1049
      StackMap locals: org.antlr.tool.Grammar org.antlr.runtime.tree.CommonTreeNodeStream org.antlr.grammar.v3.TreeToNFAConverter
      StackMap stack: org.antlr.runtime.RecognitionException
            astore 3 /* re */
        start local 3 // org.antlr.runtime.RecognitionException re
        11: .line 1050
            bipush 15
        12: .line 1051
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.name:Ljava/lang/String;
        13: .line 1052
            aload 3 /* re */
        14: .line 1050
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Object;Ljava/lang/Throwable;)V
        end local 3 // org.antlr.runtime.RecognitionException re
        15: .line 1054
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.nfa:Lorg/antlr/analysis/NFA;
            iconst_1
            putfield org.antlr.analysis.NFA.complete:Z
        16: .line 1055
            return
        end local 2 // org.antlr.grammar.v3.TreeToNFAConverter nfaBuilder
        end local 1 // org.antlr.runtime.tree.CommonTreeNodeStream input
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lorg/antlr/tool/Grammar;
            7   17     1       input  Lorg/antlr/runtime/tree/CommonTreeNodeStream;
            8   17     2  nfaBuilder  Lorg/antlr/grammar/v3/TreeToNFAConverter;
           11   15     3          re  Lorg/antlr/runtime/RecognitionException;
      Exception table:
        from    to  target  type
           8     9      10  Class org.antlr.runtime.RecognitionException

  public void createLookaheadDFAs();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 1069
            aload 0 /* this */
            iconst_1
            invokevirtual org.antlr.tool.Grammar.createLookaheadDFAs:(Z)V
         1: .line 1070
            return
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/antlr/tool/Grammar;

  public void createLookaheadDFAs(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=11, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // boolean wackTempStructures
         0: .line 1073
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.nfa:Lorg/antlr/analysis/NFA;
            ifnonnull 2
         1: .line 1074
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.buildNFA:()V
         2: .line 1078
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.checkAllRulesForLeftRecursion:()Ljava/util/List;
            pop
         3: .line 1087
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 2 /* start */
        start local 2 // long start
         4: .line 1090
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getNumberOfDecisions:()I
            istore 4 /* numDecisions */
        start local 4 // int numDecisions
         5: .line 1091
            getstatic org.antlr.analysis.NFAToDFAConverter.SINGLE_THREADED_NFA_CONVERSION:Z
            ifeq 39
         6: .line 1092
            iconst_1
            istore 5 /* decision */
        start local 5 // int decision
         7: goto 37
         8: .line 1093
      StackMap locals: long int int
      StackMap stack:
            aload 0 /* this */
            iload 5 /* decision */
            invokevirtual org.antlr.tool.Grammar.getDecisionNFAStartState:(I)Lorg/antlr/analysis/NFAState;
            astore 6 /* decisionStartState */
        start local 6 // org.antlr.analysis.NFAState decisionStartState
         9: .line 1094
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.leftRecursiveRules:Ljava/util/Set;
            aload 6 /* decisionStartState */
            getfield org.antlr.analysis.NFAState.enclosingRule:Lorg/antlr/tool/Rule;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 15
        10: .line 1096
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.watchNFAConversion:Z
            ifeq 36
        11: .line 1097
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "ignoring decision "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* decision */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        12: .line 1098
            ldc " within left-recursive rule "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* decisionStartState */
            getfield org.antlr.analysis.NFAState.enclosingRule:Lorg/antlr/tool/Rule;
            getfield org.antlr.tool.Rule.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 1097
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        14: .line 1100
            goto 36
        15: .line 1102
      StackMap locals: org.antlr.analysis.NFAState
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.externalAnalysisAbort:Z
            ifne 36
            aload 6 /* decisionStartState */
            invokevirtual org.antlr.analysis.NFAState.getNumberOfTransitions:()I
            iconst_1
            if_icmple 36
        16: .line 1103
            aload 6 /* decisionStartState */
            getfield org.antlr.analysis.NFAState.enclosingRule:Lorg/antlr/tool/Rule;
            astore 7 /* r */
        start local 7 // org.antlr.tool.Rule r
        17: .line 1104
            aload 7 /* r */
            getfield org.antlr.tool.Rule.isSynPred:Z
            ifeq 19
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.synPredNamesUsedInDFA:Ljava/util/Set;
            aload 7 /* r */
            getfield org.antlr.tool.Rule.name:Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 19
        18: .line 1105
            goto 36
        19: .line 1107
      StackMap locals: org.antlr.tool.Rule
      StackMap stack:
            aconst_null
            astore 8 /* dfa */
        start local 8 // org.antlr.analysis.DFA dfa
        20: .line 1109
            aload 0 /* this */
            iload 5 /* decision */
            invokevirtual org.antlr.tool.Grammar.getUserMaxLookahead:(I)I
            ifeq 22
        21: .line 1110
            aload 0 /* this */
            iload 5 /* decision */
            invokevirtual org.antlr.tool.Grammar.getUserMaxLookahead:(I)I
            iconst_1
            if_icmpne 23
        22: .line 1112
      StackMap locals: org.antlr.analysis.DFA
      StackMap stack:
            aload 0 /* this */
            iload 5 /* decision */
            invokevirtual org.antlr.tool.Grammar.createLL_1_LookaheadDFA:(I)Lorg/antlr/analysis/DFA;
            astore 8 /* dfa */
        23: .line 1114
      StackMap locals:
      StackMap stack:
            aload 8 /* dfa */
            ifnonnull 29
        24: .line 1115
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.watchNFAConversion:Z
            ifeq 28
        25: .line 1116
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "decision "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* decision */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        26: .line 1117
            ldc " not suitable for LL(1)-optimized DFA analysis"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 1116
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        28: .line 1119
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* decision */
            iload 1 /* wackTempStructures */
            invokevirtual org.antlr.tool.Grammar.createLookaheadDFA:(IZ)Lorg/antlr/analysis/DFA;
            astore 8 /* dfa */
        29: .line 1121
      StackMap locals:
      StackMap stack:
            aload 8 /* dfa */
            getfield org.antlr.analysis.DFA.startState:Lorg/antlr/analysis/DFAState;
            ifnonnull 31
        30: .line 1123
            aload 0 /* this */
            iload 5 /* decision */
            aconst_null
            invokevirtual org.antlr.tool.Grammar.setLookaheadDFA:(ILorg/antlr/analysis/DFA;)V
        31: .line 1125
      StackMap locals:
      StackMap stack:
            getstatic org.antlr.Tool.internalOption_PrintDFA:Z
            ifeq 36
        32: .line 1126
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "DFA d="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* decision */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        33: .line 1127
            new org.antlr.tool.FASerializer
            dup
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.nfa:Lorg/antlr/analysis/NFA;
            getfield org.antlr.analysis.NFA.grammar:Lorg/antlr/tool/Grammar;
            invokespecial org.antlr.tool.FASerializer.<init>:(Lorg/antlr/tool/Grammar;)V
            astore 9 /* serializer */
        start local 9 // org.antlr.tool.FASerializer serializer
        34: .line 1128
            aload 9 /* serializer */
            aload 8 /* dfa */
            getfield org.antlr.analysis.DFA.startState:Lorg/antlr/analysis/DFAState;
            invokevirtual org.antlr.tool.FASerializer.serialize:(Lorg/antlr/analysis/State;)Ljava/lang/String;
            astore 10 /* result */
        start local 10 // java.lang.String result
        35: .line 1129
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 10 /* result */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 10 // java.lang.String result
        end local 9 // org.antlr.tool.FASerializer serializer
        end local 8 // org.antlr.analysis.DFA dfa
        end local 7 // org.antlr.tool.Rule r
        end local 6 // org.antlr.analysis.NFAState decisionStartState
        36: .line 1092
      StackMap locals:
      StackMap stack:
            iinc 5 /* decision */ 1
      StackMap locals:
      StackMap stack:
        37: iload 5 /* decision */
            iload 4 /* numDecisions */
            if_icmple 8
        end local 5 // int decision
        38: .line 1133
            goto 54
        39: .line 1135
      StackMap locals:
      StackMap stack:
            ldc "two-threaded DFA conversion"
            invokestatic org.antlr.tool.ErrorManager.info:(Ljava/lang/String;)V
        40: .line 1137
            new org.antlr.misc.Barrier
            dup
            iconst_3
            invokespecial org.antlr.misc.Barrier.<init>:(I)V
            astore 5 /* barrier */
        start local 5 // org.antlr.misc.Barrier barrier
        41: .line 1139
            iload 4 /* numDecisions */
            iconst_2
            idiv
            istore 6 /* midpoint */
        start local 6 // int midpoint
        42: .line 1141
            new org.antlr.analysis.NFAConversionThread
            dup
            aload 0 /* this */
            aload 5 /* barrier */
            iconst_1
            iload 6 /* midpoint */
            invokespecial org.antlr.analysis.NFAConversionThread.<init>:(Lorg/antlr/tool/Grammar;Lorg/antlr/misc/Barrier;II)V
        43: .line 1140
            astore 7 /* t1 */
        start local 7 // org.antlr.analysis.NFAConversionThread t1
        44: .line 1142
            new java.lang.Thread
            dup
            aload 7 /* t1 */
            invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
            invokevirtual java.lang.Thread.start:()V
        45: .line 1143
            iload 6 /* midpoint */
            iload 4 /* numDecisions */
            iconst_2
            idiv
            if_icmpne 47
        46: .line 1144
            iinc 6 /* midpoint */ 1
        47: .line 1147
      StackMap locals: org.antlr.misc.Barrier int org.antlr.analysis.NFAConversionThread
      StackMap stack:
            new org.antlr.analysis.NFAConversionThread
            dup
            aload 0 /* this */
            aload 5 /* barrier */
            iload 6 /* midpoint */
            iload 4 /* numDecisions */
            invokespecial org.antlr.analysis.NFAConversionThread.<init>:(Lorg/antlr/tool/Grammar;Lorg/antlr/misc/Barrier;II)V
        48: .line 1146
            astore 8 /* t2 */
        start local 8 // org.antlr.analysis.NFAConversionThread t2
        49: .line 1148
            new java.lang.Thread
            dup
            aload 8 /* t2 */
            invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
            invokevirtual java.lang.Thread.start:()V
        50: .line 1151
            aload 5 /* barrier */
            invokevirtual org.antlr.misc.Barrier.waitForRelease:()V
        51: .line 1152
            goto 54
        52: .line 1153
      StackMap locals: org.antlr.tool.Grammar int long int org.antlr.misc.Barrier int org.antlr.analysis.NFAConversionThread org.antlr.analysis.NFAConversionThread
      StackMap stack: java.lang.InterruptedException
            astore 9 /* e */
        start local 9 // java.lang.InterruptedException e
        53: .line 1154
            ldc "what the hell? DFA interruptus"
            aload 9 /* e */
            invokestatic org.antlr.tool.ErrorManager.internalError:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 9 // java.lang.InterruptedException e
        end local 8 // org.antlr.analysis.NFAConversionThread t2
        end local 7 // org.antlr.analysis.NFAConversionThread t1
        end local 6 // int midpoint
        end local 5 // org.antlr.misc.Barrier barrier
        54: .line 1158
      StackMap locals: org.antlr.tool.Grammar int long int
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 5 /* stop */
        start local 5 // long stop
        55: .line 1159
            aload 0 /* this */
            lload 5 /* stop */
            lload 2 /* start */
            lsub
            putfield org.antlr.tool.Grammar.DFACreationWallClockTimeInMS:J
        56: .line 1162
            aload 0 /* this */
            iconst_1
            putfield org.antlr.tool.Grammar.allDecisionDFACreated:Z
        57: .line 1163
            return
        end local 5 // long stop
        end local 4 // int numDecisions
        end local 2 // long start
        end local 1 // boolean wackTempStructures
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   58     0                this  Lorg/antlr/tool/Grammar;
            0   58     1  wackTempStructures  Z
            4   58     2               start  J
            5   58     4        numDecisions  I
            7   38     5            decision  I
            9   36     6  decisionStartState  Lorg/antlr/analysis/NFAState;
           17   36     7                   r  Lorg/antlr/tool/Rule;
           20   36     8                 dfa  Lorg/antlr/analysis/DFA;
           34   36     9          serializer  Lorg/antlr/tool/FASerializer;
           35   36    10              result  Ljava/lang/String;
           41   54     5             barrier  Lorg/antlr/misc/Barrier;
           42   54     6            midpoint  I
           44   54     7                  t1  Lorg/antlr/analysis/NFAConversionThread;
           49   54     8                  t2  Lorg/antlr/analysis/NFAConversionThread;
           53   54     9                   e  Ljava/lang/InterruptedException;
           55   58     5                stop  J
      Exception table:
        from    to  target  type
          50    51      52  Class java.lang.InterruptedException
    MethodParameters:
                    Name  Flags
      wackTempStructures  

  public org.antlr.analysis.DFA createLL_1_LookaheadDFA(int);
    descriptor: (I)Lorg/antlr/analysis/DFA;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=17, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // int decision
         0: .line 1166
            aload 0 /* this */
            iload 1 /* decision */
            invokevirtual org.antlr.tool.Grammar.getDecision:(I)Lorg/antlr/tool/Grammar$Decision;
            astore 2 /* d */
        start local 2 // org.antlr.tool.Grammar$Decision d
         1: .line 1167
            aload 2 /* d */
            getfield org.antlr.tool.Grammar$Decision.startState:Lorg/antlr/analysis/NFAState;
            getfield org.antlr.analysis.NFAState.enclosingRule:Lorg/antlr/tool/Rule;
            getfield org.antlr.tool.Rule.name:Ljava/lang/String;
            astore 3 /* enclosingRule */
        start local 3 // java.lang.String enclosingRule
         2: .line 1168
            aload 2 /* d */
            getfield org.antlr.tool.Grammar$Decision.startState:Lorg/antlr/analysis/NFAState;
            getfield org.antlr.analysis.NFAState.enclosingRule:Lorg/antlr/tool/Rule;
            astore 4 /* r */
        start local 4 // org.antlr.tool.Rule r
         3: .line 1169
            aload 0 /* this */
            iload 1 /* decision */
            invokevirtual org.antlr.tool.Grammar.getDecisionNFAStartState:(I)Lorg/antlr/analysis/NFAState;
            astore 5 /* decisionStartState */
        start local 5 // org.antlr.analysis.NFAState decisionStartState
         4: .line 1171
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.watchNFAConversion:Z
            ifeq 9
         5: .line 1172
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "--------------------\nattempting LL(1) DFA (d="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 1173
            aload 5 /* decisionStartState */
            invokevirtual org.antlr.analysis.NFAState.getDecisionNumber:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") for "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 1174
            aload 5 /* decisionStartState */
            invokevirtual org.antlr.analysis.NFAState.getDescription:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 1172
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         9: .line 1177
      StackMap locals: org.antlr.tool.Grammar int org.antlr.tool.Grammar$Decision java.lang.String org.antlr.tool.Rule org.antlr.analysis.NFAState
      StackMap stack:
            aload 4 /* r */
            getfield org.antlr.tool.Rule.isSynPred:Z
            ifeq 11
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.synPredNamesUsedInDFA:Ljava/util/Set;
            aload 3 /* enclosingRule */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 11
        10: .line 1178
            aconst_null
            areturn
        11: .line 1182
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* decisionStartState */
            invokevirtual org.antlr.tool.Grammar.getNumberOfAltsForDecisionNFA:(Lorg/antlr/analysis/NFAState;)I
            istore 6 /* numAlts */
        start local 6 // int numAlts
        12: .line 1183
            iload 6 /* numAlts */
            iconst_1
            iadd
            anewarray org.antlr.analysis.LookaheadSet
            astore 7 /* altLook */
        start local 7 // org.antlr.analysis.LookaheadSet[] altLook
        13: .line 1184
            iconst_1
            istore 8 /* alt */
        start local 8 // int alt
        14: goto 21
        15: .line 1186
      StackMap locals: int org.antlr.analysis.LookaheadSet[] int
      StackMap stack:
            aload 5 /* decisionStartState */
            iload 8 /* alt */
            invokevirtual org.antlr.analysis.NFAState.translateDisplayAltToWalkAlt:(I)I
        16: .line 1185
            istore 9 /* walkAlt */
        start local 9 // int walkAlt
        17: .line 1187
            aload 0 /* this */
            aload 5 /* decisionStartState */
            iload 9 /* walkAlt */
            invokevirtual org.antlr.tool.Grammar.getNFAStateForAltOfDecision:(Lorg/antlr/analysis/NFAState;I)Lorg/antlr/analysis/NFAState;
            astore 10 /* altLeftEdge */
        start local 10 // org.antlr.analysis.NFAState altLeftEdge
        18: .line 1188
            aload 10 /* altLeftEdge */
            getfield org.antlr.analysis.NFAState.transition:[Lorg/antlr/analysis/Transition;
            iconst_0
            aaload
            getfield org.antlr.analysis.Transition.target:Lorg/antlr/analysis/State;
            checkcast org.antlr.analysis.NFAState
            astore 11 /* altStartState */
        start local 11 // org.antlr.analysis.NFAState altStartState
        19: .line 1190
            aload 7 /* altLook */
            iload 8 /* alt */
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.ll1Analyzer:Lorg/antlr/analysis/LL1Analyzer;
            aload 11 /* altStartState */
            invokevirtual org.antlr.analysis.LL1Analyzer.LOOK:(Lorg/antlr/analysis/NFAState;)Lorg/antlr/analysis/LookaheadSet;
            aastore
        end local 11 // org.antlr.analysis.NFAState altStartState
        end local 10 // org.antlr.analysis.NFAState altLeftEdge
        end local 9 // int walkAlt
        20: .line 1184
            iinc 8 /* alt */ 1
      StackMap locals:
      StackMap stack:
        21: iload 8 /* alt */
            iload 6 /* numAlts */
            if_icmple 15
        end local 8 // int alt
        22: .line 1195
            iconst_1
            istore 8 /* decisionIsLL_1 */
        start local 8 // boolean decisionIsLL_1
        23: .line 1197
            iconst_1
            istore 9 /* i */
        start local 9 // int i
        24: goto 34
        25: .line 1198
      StackMap locals: org.antlr.tool.Grammar int org.antlr.tool.Grammar$Decision java.lang.String org.antlr.tool.Rule org.antlr.analysis.NFAState int org.antlr.analysis.LookaheadSet[] int int
      StackMap stack:
            iload 9 /* i */
            iconst_1
            iadd
            istore 10 /* j */
        start local 10 // int j
        26: goto 32
        27: .line 1204
      StackMap locals: int
      StackMap stack:
            aload 7 /* altLook */
            iload 9 /* i */
            aaload
            aload 7 /* altLook */
            iload 10 /* j */
            aaload
            invokevirtual org.antlr.analysis.LookaheadSet.intersection:(Lorg/antlr/analysis/LookaheadSet;)Lorg/antlr/analysis/LookaheadSet;
            astore 11 /* collision */
        start local 11 // org.antlr.analysis.LookaheadSet collision
        28: .line 1205
            aload 11 /* collision */
            invokevirtual org.antlr.analysis.LookaheadSet.isNil:()Z
            ifne 31
        29: .line 1207
            iconst_0
            istore 8 /* decisionIsLL_1 */
        30: .line 1208
            goto 35
        end local 11 // org.antlr.analysis.LookaheadSet collision
        31: .line 1198
      StackMap locals:
      StackMap stack:
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        32: iload 10 /* j */
            iload 6 /* numAlts */
            if_icmple 27
        end local 10 // int j
        33: .line 1197
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 9 /* i */
            iload 6 /* numAlts */
            if_icmple 25
        end local 9 // int i
        35: .line 1214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.ll1Analyzer:Lorg/antlr/analysis/LL1Analyzer;
            aload 5 /* decisionStartState */
            invokevirtual org.antlr.analysis.LL1Analyzer.detectConfoundingPredicates:(Lorg/antlr/analysis/NFAState;)Z
        36: .line 1213
            istore 9 /* foundConfoundingPredicate */
        start local 9 // boolean foundConfoundingPredicate
        37: .line 1215
            iload 8 /* decisionIsLL_1 */
            ifeq 44
            iload 9 /* foundConfoundingPredicate */
            ifne 44
        38: .line 1217
            getstatic org.antlr.analysis.NFAToDFAConverter.debug:Z
            ifeq 40
        39: .line 1218
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "decision "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* decision */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " is simple LL(1)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        40: .line 1220
      StackMap locals: int
      StackMap stack:
            new org.antlr.analysis.LL1DFA
            dup
            iload 1 /* decision */
            aload 5 /* decisionStartState */
            aload 7 /* altLook */
            invokespecial org.antlr.analysis.LL1DFA.<init>:(ILorg/antlr/analysis/NFAState;[Lorg/antlr/analysis/LookaheadSet;)V
            astore 10 /* lookaheadDFA */
        start local 10 // org.antlr.analysis.DFA lookaheadDFA
        41: .line 1221
            aload 0 /* this */
            iload 1 /* decision */
            aload 10 /* lookaheadDFA */
            invokevirtual org.antlr.tool.Grammar.setLookaheadDFA:(ILorg/antlr/analysis/DFA;)V
        42: .line 1222
            aload 0 /* this */
            aload 10 /* lookaheadDFA */
            invokevirtual org.antlr.tool.Grammar.updateLineColumnToLookaheadDFAMap:(Lorg/antlr/analysis/DFA;)V
        43: .line 1223
            aload 10 /* lookaheadDFA */
            areturn
        end local 10 // org.antlr.analysis.DFA lookaheadDFA
        44: .line 1239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* decision */
            invokevirtual org.antlr.tool.Grammar.getUserMaxLookahead:(I)I
            iconst_1
            if_icmpne 47
        45: .line 1240
            aload 0 /* this */
            iload 1 /* decision */
            invokevirtual org.antlr.tool.Grammar.getAutoBacktrackMode:(I)Z
            ifeq 47
        46: .line 1241
            iload 9 /* foundConfoundingPredicate */
            ifeq 48
        47: .line 1244
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        48: .line 1247
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 10 /* edges */
        start local 10 // java.util.List edges
        49: .line 1248
            iconst_1
            istore 11 /* i */
        start local 11 // int i
        50: goto 54
        51: .line 1249
      StackMap locals: java.util.List int
      StackMap stack:
            aload 7 /* altLook */
            iload 11 /* i */
            aaload
            astore 12 /* s */
        start local 12 // org.antlr.analysis.LookaheadSet s
        52: .line 1250
            aload 10 /* edges */
            aload 12 /* s */
            getfield org.antlr.analysis.LookaheadSet.tokenTypeSet:Lorg/antlr/misc/IntervalSet;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // org.antlr.analysis.LookaheadSet s
        53: .line 1248
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        54: iload 11 /* i */
            aload 7 /* altLook */
            arraylength
            if_icmplt 51
        end local 11 // int i
        55: .line 1252
            aload 0 /* this */
            aload 10 /* edges */
            invokevirtual org.antlr.tool.Grammar.makeEdgeSetsDisjoint:(Ljava/util/List;)Ljava/util/List;
            astore 11 /* disjoint */
        start local 11 // java.util.List disjoint
        56: .line 1255
            new org.antlr.misc.MultiMap
            dup
            invokespecial org.antlr.misc.MultiMap.<init>:()V
            astore 12 /* edgeMap */
        start local 12 // org.antlr.misc.MultiMap edgeMap
        57: .line 1256
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        58: goto 68
        59: .line 1257
      StackMap locals: org.antlr.tool.Grammar int org.antlr.tool.Grammar$Decision java.lang.String org.antlr.tool.Rule org.antlr.analysis.NFAState int org.antlr.analysis.LookaheadSet[] int int java.util.List java.util.List org.antlr.misc.MultiMap int
      StackMap stack:
            aload 11 /* disjoint */
            iload 13 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.antlr.misc.IntervalSet
            astore 14 /* ds */
        start local 14 // org.antlr.misc.IntervalSet ds
        60: .line 1258
            iconst_1
            istore 15 /* alt */
        start local 15 // int alt
        61: goto 66
        62: .line 1259
      StackMap locals: org.antlr.misc.IntervalSet int
      StackMap stack:
            aload 7 /* altLook */
            iload 15 /* alt */
            aaload
            astore 16 /* look */
        start local 16 // org.antlr.analysis.LookaheadSet look
        63: .line 1260
            aload 14 /* ds */
            aload 16 /* look */
            getfield org.antlr.analysis.LookaheadSet.tokenTypeSet:Lorg/antlr/misc/IntervalSet;
            invokevirtual org.antlr.misc.IntervalSet.and:(Lorg/antlr/misc/IntSet;)Lorg/antlr/misc/IntervalSet;
            invokevirtual org.antlr.misc.IntervalSet.isNil:()Z
            ifne 65
        64: .line 1261
            aload 12 /* edgeMap */
            aload 14 /* ds */
            iload 15 /* alt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.antlr.misc.MultiMap.map:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 16 // org.antlr.analysis.LookaheadSet look
        65: .line 1258
      StackMap locals:
      StackMap stack:
            iinc 15 /* alt */ 1
      StackMap locals:
      StackMap stack:
        66: iload 15 /* alt */
            aload 7 /* altLook */
            arraylength
            if_icmplt 62
        end local 15 // int alt
        end local 14 // org.antlr.misc.IntervalSet ds
        67: .line 1256
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        68: iload 13 /* i */
            aload 11 /* disjoint */
            invokeinterface java.util.List.size:()I
            if_icmplt 59
        end local 13 // int i
        69: .line 1270
            new org.antlr.analysis.LL1DFA
            dup
            iload 1 /* decision */
            aload 5 /* decisionStartState */
            aload 12 /* edgeMap */
            invokespecial org.antlr.analysis.LL1DFA.<init>:(ILorg/antlr/analysis/NFAState;Lorg/antlr/misc/MultiMap;)V
            astore 13 /* lookaheadDFA */
        start local 13 // org.antlr.analysis.DFA lookaheadDFA
        70: .line 1271
            aload 0 /* this */
            iload 1 /* decision */
            aload 13 /* lookaheadDFA */
            invokevirtual org.antlr.tool.Grammar.setLookaheadDFA:(ILorg/antlr/analysis/DFA;)V
        71: .line 1274
            aload 0 /* this */
            aload 13 /* lookaheadDFA */
            invokevirtual org.antlr.tool.Grammar.updateLineColumnToLookaheadDFAMap:(Lorg/antlr/analysis/DFA;)V
        72: .line 1276
            aload 13 /* lookaheadDFA */
            areturn
        end local 13 // org.antlr.analysis.DFA lookaheadDFA
        end local 12 // org.antlr.misc.MultiMap edgeMap
        end local 11 // java.util.List disjoint
        end local 10 // java.util.List edges
        end local 9 // boolean foundConfoundingPredicate
        end local 8 // boolean decisionIsLL_1
        end local 7 // org.antlr.analysis.LookaheadSet[] altLook
        end local 6 // int numAlts
        end local 5 // org.antlr.analysis.NFAState decisionStartState
        end local 4 // org.antlr.tool.Rule r
        end local 3 // java.lang.String enclosingRule
        end local 2 // org.antlr.tool.Grammar$Decision d
        end local 1 // int decision
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   73     0                       this  Lorg/antlr/tool/Grammar;
            0   73     1                   decision  I
            1   73     2                          d  Lorg/antlr/tool/Grammar$Decision;
            2   73     3              enclosingRule  Ljava/lang/String;
            3   73     4                          r  Lorg/antlr/tool/Rule;
            4   73     5         decisionStartState  Lorg/antlr/analysis/NFAState;
           12   73     6                    numAlts  I
           13   73     7                    altLook  [Lorg/antlr/analysis/LookaheadSet;
           14   22     8                        alt  I
           17   20     9                    walkAlt  I
           18   20    10                altLeftEdge  Lorg/antlr/analysis/NFAState;
           19   20    11              altStartState  Lorg/antlr/analysis/NFAState;
           23   73     8             decisionIsLL_1  Z
           24   35     9                          i  I
           26   33    10                          j  I
           28   31    11                  collision  Lorg/antlr/analysis/LookaheadSet;
           37   73     9  foundConfoundingPredicate  Z
           41   44    10               lookaheadDFA  Lorg/antlr/analysis/DFA;
           49   73    10                      edges  Ljava/util/List<Lorg/antlr/misc/IntervalSet;>;
           50   55    11                          i  I
           52   53    12                          s  Lorg/antlr/analysis/LookaheadSet;
           56   73    11                   disjoint  Ljava/util/List<Lorg/antlr/misc/IntervalSet;>;
           57   73    12                    edgeMap  Lorg/antlr/misc/MultiMap<Lorg/antlr/misc/IntervalSet;Ljava/lang/Integer;>;
           58   69    13                          i  I
           60   67    14                         ds  Lorg/antlr/misc/IntervalSet;
           61   67    15                        alt  I
           63   65    16                       look  Lorg/antlr/analysis/LookaheadSet;
           70   73    13               lookaheadDFA  Lorg/antlr/analysis/DFA;
    MethodParameters:
          Name  Flags
      decision  

  private void updateLineColumnToLookaheadDFAMap(org.antlr.analysis.DFA);
    descriptor: (Lorg/antlr/analysis/DFA;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.analysis.DFA lookaheadDFA
         0: .line 1280
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.nfa:Lorg/antlr/analysis/NFA;
            getfield org.antlr.analysis.NFA.grammar:Lorg/antlr/tool/Grammar;
            aload 1 /* lookaheadDFA */
            getfield org.antlr.analysis.DFA.decisionNumber:I
            invokevirtual org.antlr.tool.Grammar.getDecisionBlockAST:(I)Lorg/antlr/tool/GrammarAST;
            astore 2 /* decisionAST */
        start local 2 // org.antlr.tool.GrammarAST decisionAST
         1: .line 1281
            aload 2 /* decisionAST */
            invokevirtual org.antlr.tool.GrammarAST.getLine:()I
            istore 3 /* line */
        start local 3 // int line
         2: .line 1282
            aload 2 /* decisionAST */
            invokevirtual org.antlr.tool.GrammarAST.getCharPositionInLine:()I
            istore 4 /* col */
        start local 4 // int col
         3: .line 1283
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.lineColumnToLookaheadDFAMap:Ljava/util/Map;
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            iload 3 /* line */
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            ldc ":"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
         4: .line 1284
            iload 4 /* col */
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            aload 1 /* lookaheadDFA */
         5: .line 1283
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 1285
            return
        end local 4 // int col
        end local 3 // int line
        end local 2 // org.antlr.tool.GrammarAST decisionAST
        end local 1 // org.antlr.analysis.DFA lookaheadDFA
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lorg/antlr/tool/Grammar;
            0    7     1  lookaheadDFA  Lorg/antlr/analysis/DFA;
            1    7     2   decisionAST  Lorg/antlr/tool/GrammarAST;
            2    7     3          line  I
            3    7     4           col  I
    MethodParameters:
              Name  Flags
      lookaheadDFA  

  protected java.util.List<org.antlr.misc.IntervalSet> makeEdgeSetsDisjoint(java.util.List<org.antlr.misc.IntervalSet>);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=12, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.util.List edges
         0: .line 1288
            new org.antlr.misc.OrderedHashSet
            dup
            invokespecial org.antlr.misc.OrderedHashSet.<init>:()V
            astore 2 /* disjointSets */
        start local 2 // org.antlr.misc.OrderedHashSet disjointSets
         1: .line 1290
            aload 1 /* edges */
            invokeinterface java.util.List.size:()I
            istore 3 /* numEdges */
        start local 3 // int numEdges
         2: .line 1291
            iconst_0
            istore 4 /* e */
        start local 4 // int e
         3: goto 28
         4: .line 1292
      StackMap locals: org.antlr.misc.OrderedHashSet int int
      StackMap stack:
            aload 1 /* edges */
            iload 4 /* e */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.antlr.misc.IntervalSet
            astore 5 /* t */
        start local 5 // org.antlr.misc.IntervalSet t
         5: .line 1293
            aload 2 /* disjointSets */
            aload 5 /* t */
            invokevirtual org.antlr.misc.OrderedHashSet.contains:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 1294
            goto 27
         7: .line 1298
      StackMap locals: org.antlr.misc.IntervalSet
      StackMap stack:
            aload 5 /* t */
            astore 6 /* remainder */
        start local 6 // org.antlr.misc.IntervalSet remainder
         8: .line 1299
            aload 2 /* disjointSets */
            invokevirtual org.antlr.misc.OrderedHashSet.size:()I
            istore 7 /* numDisjointElements */
        start local 7 // int numDisjointElements
         9: .line 1300
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        10: goto 24
        11: .line 1301
      StackMap locals: org.antlr.misc.IntervalSet int int
      StackMap stack:
            aload 2 /* disjointSets */
            iload 8 /* i */
            invokevirtual org.antlr.misc.OrderedHashSet.get:(I)Ljava/lang/Object;
            checkcast org.antlr.misc.IntervalSet
            astore 9 /* s_i */
        start local 9 // org.antlr.misc.IntervalSet s_i
        12: .line 1303
            aload 5 /* t */
            aload 9 /* s_i */
            invokevirtual org.antlr.misc.IntervalSet.and:(Lorg/antlr/misc/IntSet;)Lorg/antlr/misc/IntervalSet;
            invokevirtual org.antlr.misc.IntervalSet.isNil:()Z
            ifeq 14
        13: .line 1304
            goto 23
        14: .line 1313
      StackMap locals: org.antlr.misc.IntervalSet
      StackMap stack:
            aload 9 /* s_i */
            aload 5 /* t */
            invokevirtual org.antlr.misc.IntervalSet.and:(Lorg/antlr/misc/IntSet;)Lorg/antlr/misc/IntervalSet;
            astore 10 /* intersection */
        start local 10 // org.antlr.misc.IntervalSet intersection
        15: .line 1314
            aload 2 /* disjointSets */
            iload 8 /* i */
            aload 10 /* intersection */
            invokevirtual org.antlr.misc.OrderedHashSet.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 1317
            aload 9 /* s_i */
            aload 5 /* t */
            invokevirtual org.antlr.misc.IntervalSet.subtract:(Lorg/antlr/misc/IntSet;)Lorg/antlr/misc/IntervalSet;
            astore 11 /* existingMinusNewElements */
        start local 11 // org.antlr.misc.IntervalSet existingMinusNewElements
        17: .line 1319
            aload 11 /* existingMinusNewElements */
            invokevirtual org.antlr.misc.IntervalSet.isNil:()Z
            ifne 19
        18: .line 1322
            aload 2 /* disjointSets */
            aload 11 /* existingMinusNewElements */
            invokevirtual org.antlr.misc.OrderedHashSet.add:(Ljava/lang/Object;)Z
            pop
        19: .line 1326
      StackMap locals: org.antlr.misc.IntervalSet org.antlr.misc.IntervalSet
      StackMap stack:
            aload 5 /* t */
            aload 9 /* s_i */
            invokevirtual org.antlr.misc.IntervalSet.subtract:(Lorg/antlr/misc/IntSet;)Lorg/antlr/misc/IntervalSet;
            astore 6 /* remainder */
        20: .line 1327
            aload 6 /* remainder */
            invokevirtual org.antlr.misc.IntervalSet.isNil:()Z
            ifeq 22
        21: .line 1328
            goto 25
        22: .line 1331
      StackMap locals:
      StackMap stack:
            aload 6 /* remainder */
            astore 5 /* t */
        end local 11 // org.antlr.misc.IntervalSet existingMinusNewElements
        end local 10 // org.antlr.misc.IntervalSet intersection
        end local 9 // org.antlr.misc.IntervalSet s_i
        23: .line 1300
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 8 /* i */
            iload 7 /* numDisjointElements */
            if_icmplt 11
        end local 8 // int i
        25: .line 1333
      StackMap locals:
      StackMap stack:
            aload 6 /* remainder */
            invokevirtual org.antlr.misc.IntervalSet.isNil:()Z
            ifne 27
        26: .line 1334
            aload 2 /* disjointSets */
            aload 6 /* remainder */
            invokevirtual org.antlr.misc.OrderedHashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // int numDisjointElements
        end local 6 // org.antlr.misc.IntervalSet remainder
        end local 5 // org.antlr.misc.IntervalSet t
        27: .line 1291
      StackMap locals:
      StackMap stack:
            iinc 4 /* e */ 1
      StackMap locals:
      StackMap stack:
        28: iload 4 /* e */
            iload 3 /* numEdges */
            if_icmplt 4
        end local 4 // int e
        29: .line 1337
            aload 2 /* disjointSets */
            invokevirtual org.antlr.misc.OrderedHashSet.elements:()Ljava/util/List;
            areturn
        end local 3 // int numEdges
        end local 2 // org.antlr.misc.OrderedHashSet disjointSets
        end local 1 // java.util.List edges
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   30     0                      this  Lorg/antlr/tool/Grammar;
            0   30     1                     edges  Ljava/util/List<Lorg/antlr/misc/IntervalSet;>;
            1   30     2              disjointSets  Lorg/antlr/misc/OrderedHashSet<Lorg/antlr/misc/IntervalSet;>;
            2   30     3                  numEdges  I
            3   29     4                         e  I
            5   27     5                         t  Lorg/antlr/misc/IntervalSet;
            8   27     6                 remainder  Lorg/antlr/misc/IntervalSet;
            9   27     7       numDisjointElements  I
           10   25     8                         i  I
           12   23     9                       s_i  Lorg/antlr/misc/IntervalSet;
           15   23    10              intersection  Lorg/antlr/misc/IntervalSet;
           17   23    11  existingMinusNewElements  Lorg/antlr/misc/IntervalSet;
    Signature: (Ljava/util/List<Lorg/antlr/misc/IntervalSet;>;)Ljava/util/List<Lorg/antlr/misc/IntervalSet;>;
    MethodParameters:
       Name  Flags
      edges  

  public org.antlr.analysis.DFA createLookaheadDFA(int, boolean);
    descriptor: (IZ)Lorg/antlr/analysis/DFA;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=13, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // int decision
        start local 2 // boolean wackTempStructures
         0: .line 1341
            aload 0 /* this */
            iload 1 /* decision */
            invokevirtual org.antlr.tool.Grammar.getDecision:(I)Lorg/antlr/tool/Grammar$Decision;
            astore 3 /* d */
        start local 3 // org.antlr.tool.Grammar$Decision d
         1: .line 1342
            aload 3 /* d */
            getfield org.antlr.tool.Grammar$Decision.startState:Lorg/antlr/analysis/NFAState;
            getfield org.antlr.analysis.NFAState.enclosingRule:Lorg/antlr/tool/Rule;
            getfield org.antlr.tool.Rule.name:Ljava/lang/String;
            pop
         2: .line 1343
            aload 3 /* d */
            getfield org.antlr.tool.Grammar$Decision.startState:Lorg/antlr/analysis/NFAState;
            getfield org.antlr.analysis.NFAState.enclosingRule:Lorg/antlr/tool/Rule;
            pop
         3: .line 1346
            aload 0 /* this */
            iload 1 /* decision */
            invokevirtual org.antlr.tool.Grammar.getDecisionNFAStartState:(I)Lorg/antlr/analysis/NFAState;
            astore 4 /* decisionStartState */
        start local 4 // org.antlr.analysis.NFAState decisionStartState
         4: .line 1347
            lconst_0
            lstore 5 /* startDFA */
        start local 5 // long startDFA
         5: .line 1348
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.watchNFAConversion:Z
            ifeq 11
         6: .line 1349
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "--------------------\nbuilding lookahead DFA (d="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 1350
            aload 4 /* decisionStartState */
            invokevirtual org.antlr.analysis.NFAState.getDecisionNumber:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") for "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 1351
            aload 4 /* decisionStartState */
            invokevirtual org.antlr.analysis.NFAState.getDescription:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 1349
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        10: .line 1352
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 5 /* startDFA */
        11: .line 1355
      StackMap locals: org.antlr.tool.Grammar$Decision org.antlr.analysis.NFAState long
      StackMap stack:
            new org.antlr.analysis.DFA
            dup
            iload 1 /* decision */
            aload 4 /* decisionStartState */
            invokespecial org.antlr.analysis.DFA.<init>:(ILorg/antlr/analysis/NFAState;)V
            astore 9 /* lookaheadDFA */
        start local 9 // org.antlr.analysis.DFA lookaheadDFA
        12: .line 1359
            aload 9 /* lookaheadDFA */
            getfield org.antlr.analysis.DFA.probe:Lorg/antlr/analysis/DecisionProbe;
            invokevirtual org.antlr.analysis.DecisionProbe.isNonLLStarDecision:()Z
            ifne 15
        13: .line 1360
            aload 9 /* lookaheadDFA */
            getfield org.antlr.analysis.DFA.probe:Lorg/antlr/analysis/DecisionProbe;
            invokevirtual org.antlr.analysis.DecisionProbe.analysisOverflowed:()Z
            ifne 15
        14: .line 1358
            iconst_0
            goto 16
      StackMap locals: org.antlr.tool.Grammar int int org.antlr.tool.Grammar$Decision org.antlr.analysis.NFAState long top top org.antlr.analysis.DFA
      StackMap stack:
        15: iconst_1
      StackMap locals:
      StackMap stack: int
        16: istore 10 /* failed */
        start local 10 // boolean failed
        17: .line 1361
            iload 10 /* failed */
            ifeq 27
            aload 9 /* lookaheadDFA */
            invokevirtual org.antlr.analysis.DFA.okToRetryDFAWithK1:()Z
            ifeq 27
        18: .line 1364
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.decisionsWhoseDFAsUsesSynPreds:Ljava/util/Set;
            aload 9 /* lookaheadDFA */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        19: .line 1366
            aload 3 /* d */
            getfield org.antlr.tool.Grammar$Decision.blockAST:Lorg/antlr/tool/GrammarAST;
            aload 0 /* this */
            ldc "k"
            iconst_1
            invokestatic org.antlr.misc.Utils.integer:(I)Ljava/lang/Integer;
            invokevirtual org.antlr.tool.GrammarAST.setBlockOption:(Lorg/antlr/tool/Grammar;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
            pop
        20: .line 1367
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.watchNFAConversion:Z
            ifeq 25
        21: .line 1368
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "trying decision "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* decision */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        22: .line 1369
            ldc " again with k=1; reason: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 1370
            aload 9 /* lookaheadDFA */
            invokevirtual org.antlr.analysis.DFA.getReasonForFailure:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        24: .line 1368
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        25: .line 1372
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 9 /* lookaheadDFA */
        26: .line 1373
            new org.antlr.analysis.DFA
            dup
            iload 1 /* decision */
            aload 4 /* decisionStartState */
            invokespecial org.antlr.analysis.DFA.<init>:(ILorg/antlr/analysis/NFAState;)V
            astore 9 /* lookaheadDFA */
        27: .line 1376
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* decision */
            aload 9 /* lookaheadDFA */
            invokevirtual org.antlr.tool.Grammar.setLookaheadDFA:(ILorg/antlr/analysis/DFA;)V
        28: .line 1378
            iload 2 /* wackTempStructures */
            ifeq 33
        29: .line 1379
            aload 9 /* lookaheadDFA */
            invokevirtual org.antlr.analysis.DFA.getUniqueStates:()Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 12
            goto 32
      StackMap locals: org.antlr.tool.Grammar int int org.antlr.tool.Grammar$Decision org.antlr.analysis.NFAState long top top org.antlr.analysis.DFA int top java.util.Iterator
      StackMap stack:
        30: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.antlr.analysis.DFAState
            astore 11 /* s */
        start local 11 // org.antlr.analysis.DFAState s
        31: .line 1380
            aload 11 /* s */
            invokevirtual org.antlr.analysis.DFAState.reset:()V
        end local 11 // org.antlr.analysis.DFAState s
        32: .line 1379
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 30
        33: .line 1385
      StackMap locals: org.antlr.tool.Grammar int int org.antlr.tool.Grammar$Decision org.antlr.analysis.NFAState long top top org.antlr.analysis.DFA int
      StackMap stack:
            aload 0 /* this */
            aload 9 /* lookaheadDFA */
            invokevirtual org.antlr.tool.Grammar.updateLineColumnToLookaheadDFAMap:(Lorg/antlr/analysis/DFA;)V
        34: .line 1387
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.watchNFAConversion:Z
            ifeq 39
        35: .line 1388
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 7 /* stopDFA */
        start local 7 // long stopDFA
        36: .line 1389
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "cost: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* lookaheadDFA */
            invokevirtual org.antlr.analysis.DFA.getNumberOfStates:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        37: .line 1390
            ldc " states, "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 7 /* stopDFA */
            lload 5 /* startDFA */
            lsub
            l2i
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " ms"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        38: .line 1389
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 7 // long stopDFA
        39: .line 1393
      StackMap locals:
      StackMap stack:
            aload 9 /* lookaheadDFA */
            areturn
        end local 10 // boolean failed
        end local 9 // org.antlr.analysis.DFA lookaheadDFA
        end local 5 // long startDFA
        end local 4 // org.antlr.analysis.NFAState decisionStartState
        end local 3 // org.antlr.tool.Grammar$Decision d
        end local 2 // boolean wackTempStructures
        end local 1 // int decision
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   40     0                this  Lorg/antlr/tool/Grammar;
            0   40     1            decision  I
            0   40     2  wackTempStructures  Z
            1   40     3                   d  Lorg/antlr/tool/Grammar$Decision;
            4   40     4  decisionStartState  Lorg/antlr/analysis/NFAState;
            5   40     5            startDFA  J
           36   39     7             stopDFA  J
           12   40     9        lookaheadDFA  Lorg/antlr/analysis/DFA;
           17   40    10              failed  Z
           31   32    11                   s  Lorg/antlr/analysis/DFAState;
    MethodParameters:
                    Name  Flags
      decision            
      wackTempStructures  

  public void externallyAbortNFAToDFAConversion();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 1399
            aload 0 /* this */
            iconst_1
            putfield org.antlr.tool.Grammar.externalAnalysisAbort:Z
         1: .line 1400
            return
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/antlr/tool/Grammar;

  public boolean NFAToDFAConversionExternallyAborted();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 1403
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.externalAnalysisAbort:Z
            ireturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;

  public int getNewTokenType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 1408
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            dup
            getfield org.antlr.tool.CompositeGrammar.maxTokenType:I
            iconst_1
            iadd
            putfield org.antlr.tool.CompositeGrammar.maxTokenType:I
         1: .line 1409
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.maxTokenType:I
            ireturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/antlr/tool/Grammar;

  public void defineToken(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String text
        start local 2 // int tokenType
         0: .line 1418
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.tokenIDToTypeMap:Ljava/util/Map;
            aload 1 /* text */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 2
         1: .line 1421
            return
         2: .line 1425
      StackMap locals:
      StackMap stack:
            aload 1 /* text */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 39
            if_icmpne 8
         3: .line 1426
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.stringLiteralToTypeMap:Ljava/util/Map;
            aload 1 /* text */
            iload 2 /* tokenType */
            invokestatic org.antlr.misc.Utils.integer:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 1428
            iload 2 /* tokenType */
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.typeToStringLiteralList:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 6
         5: .line 1429
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.typeToStringLiteralList:Ljava/util/Vector;
            iload 2 /* tokenType */
            iconst_1
            iadd
            invokevirtual java.util.Vector.setSize:(I)V
         6: .line 1431
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.typeToStringLiteralList:Ljava/util/Vector;
            iload 2 /* tokenType */
            aload 1 /* text */
            invokevirtual java.util.Vector.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 1432
            goto 9
         8: .line 1434
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.tokenIDToTypeMap:Ljava/util/Map;
            aload 1 /* text */
            iload 2 /* tokenType */
            invokestatic org.antlr.misc.Utils.integer:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 1436
      StackMap locals:
      StackMap stack:
            bipush 7
            iload 2 /* tokenType */
            iadd
            iconst_1
            isub
            istore 3 /* index */
        start local 3 // int index
        10: .line 1438
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.maxTokenType:I
            iload 2 /* tokenType */
            invokestatic java.lang.Math.max:(II)I
            putfield org.antlr.tool.CompositeGrammar.maxTokenType:I
        11: .line 1439
            iload 3 /* index */
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.typeToTokenList:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 13
        12: .line 1440
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.typeToTokenList:Ljava/util/Vector;
            iload 3 /* index */
            iconst_1
            iadd
            invokevirtual java.util.Vector.setSize:(I)V
        13: .line 1442
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.typeToTokenList:Ljava/util/Vector;
            iload 3 /* index */
            invokevirtual java.util.Vector.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* prevToken */
        start local 4 // java.lang.String prevToken
        14: .line 1443
            aload 4 /* prevToken */
            ifnull 15
            aload 4 /* prevToken */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 39
            if_icmpne 16
        15: .line 1445
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.typeToTokenList:Ljava/util/Vector;
            iload 3 /* index */
            aload 1 /* text */
            invokevirtual java.util.Vector.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 1447
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String prevToken
        end local 3 // int index
        end local 2 // int tokenType
        end local 1 // java.lang.String text
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lorg/antlr/tool/Grammar;
            0   17     1       text  Ljava/lang/String;
            0   17     2  tokenType  I
           10   17     3      index  I
           14   17     4  prevToken  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      text       
      tokenType  

  public void defineRule(org.antlr.runtime.Token, java.lang.String, java.util.Map<java.lang.String, java.lang.Object>, org.antlr.tool.GrammarAST, org.antlr.tool.GrammarAST, );
    descriptor: (Lorg/antlr/runtime/Token;Ljava/lang/String;Ljava/util/Map;Lorg/antlr/tool/GrammarAST;Lorg/antlr/tool/GrammarAST;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=7
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.runtime.Token ruleToken
        start local 2 // java.lang.String modifier
        start local 3 // java.util.Map options
        start local 4 // org.antlr.tool.GrammarAST tree
        start local 5 // org.antlr.tool.GrammarAST argActionAST
        start local 6 // int numAlts
         0: .line 1459
            aload 1 /* ruleToken */
            invokeinterface org.antlr.runtime.Token.getText:()Ljava/lang/String;
            astore 7 /* ruleName */
        start local 7 // java.lang.String ruleName
         1: .line 1460
            aload 0 /* this */
            aload 7 /* ruleName */
            invokevirtual org.antlr.tool.Grammar.getLocallyDefinedRule:(Ljava/lang/String;)Lorg/antlr/tool/Rule;
            ifnull 6
         2: .line 1461
            bipush 101
         3: .line 1462
            aload 0 /* this */
            aload 1 /* ruleToken */
            aload 7 /* ruleName */
         4: .line 1461
            invokestatic org.antlr.tool.ErrorManager.grammarError:(ILorg/antlr/tool/Grammar;Lorg/antlr/runtime/Token;Ljava/lang/Object;)V
         5: .line 1463
            return
         6: .line 1466
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.type:I
            iconst_2
            if_icmpeq 7
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.type:I
            iconst_3
            if_icmpne 12
         7: .line 1467
      StackMap locals:
      StackMap stack:
            aload 7 /* ruleName */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isUpperCase:(C)Z
            ifeq 12
         8: .line 1469
            bipush 102
         9: .line 1470
            aload 0 /* this */
            aload 1 /* ruleToken */
            aload 7 /* ruleName */
        10: .line 1469
            invokestatic org.antlr.tool.ErrorManager.grammarError:(ILorg/antlr/tool/Grammar;Lorg/antlr/runtime/Token;Ljava/lang/Object;)V
        11: .line 1471
            return
        12: .line 1474
      StackMap locals:
      StackMap stack:
            new org.antlr.tool.Rule
            dup
            aload 0 /* this */
            aload 7 /* ruleName */
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.ruleIndex:I
            iload 6 /* numAlts */
            invokespecial org.antlr.tool.Rule.<init>:(Lorg/antlr/tool/Grammar;Ljava/lang/String;II)V
            astore 8 /* r */
        start local 8 // org.antlr.tool.Rule r
        13: .line 1479
            aload 8 /* r */
            aload 2 /* modifier */
            putfield org.antlr.tool.Rule.modifier:Ljava/lang/String;
        14: .line 1480
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.nameToRuleMap:Ljava/util/LinkedHashMap;
            aload 7 /* ruleName */
            aload 8 /* r */
            invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 1481
            aload 0 /* this */
            aload 7 /* ruleName */
            aload 4 /* tree */
            invokevirtual org.antlr.tool.Grammar.setRuleAST:(Ljava/lang/String;Lorg/antlr/tool/GrammarAST;)V
        16: .line 1482
            aload 8 /* r */
            aload 3 /* options */
            aload 1 /* ruleToken */
            invokevirtual org.antlr.tool.Rule.setOptions:(Ljava/util/Map;Lorg/antlr/runtime/Token;)V
        17: .line 1483
            aload 8 /* r */
            aload 5 /* argActionAST */
            putfield org.antlr.tool.Rule.argActionAST:Lorg/antlr/tool/GrammarAST;
        18: .line 1484
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.ruleIndexToRuleList:Ljava/util/Vector;
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.ruleIndex:I
            iconst_1
            iadd
            invokevirtual java.util.Vector.setSize:(I)V
        19: .line 1485
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.ruleIndexToRuleList:Ljava/util/Vector;
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.ruleIndex:I
            aload 8 /* r */
            invokevirtual java.util.Vector.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 1486
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            dup
            getfield org.antlr.tool.CompositeGrammar.ruleIndex:I
            iconst_1
            iadd
            putfield org.antlr.tool.CompositeGrammar.ruleIndex:I
        21: .line 1487
            aload 7 /* ruleName */
            ldc "synpred"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 23
        22: .line 1488
            aload 8 /* r */
            iconst_1
            putfield org.antlr.tool.Rule.isSynPred:Z
        23: .line 1490
      StackMap locals: org.antlr.tool.Rule
      StackMap stack:
            return
        end local 8 // org.antlr.tool.Rule r
        end local 7 // java.lang.String ruleName
        end local 6 // int numAlts
        end local 5 // org.antlr.tool.GrammarAST argActionAST
        end local 4 // org.antlr.tool.GrammarAST tree
        end local 3 // java.util.Map options
        end local 2 // java.lang.String modifier
        end local 1 // org.antlr.runtime.Token ruleToken
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   24     0          this  Lorg/antlr/tool/Grammar;
            0   24     1     ruleToken  Lorg/antlr/runtime/Token;
            0   24     2      modifier  Ljava/lang/String;
            0   24     3       options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            0   24     4          tree  Lorg/antlr/tool/GrammarAST;
            0   24     5  argActionAST  Lorg/antlr/tool/GrammarAST;
            0   24     6       numAlts  I
            1   24     7      ruleName  Ljava/lang/String;
           13   24     8             r  Lorg/antlr/tool/Rule;
    Signature: (Lorg/antlr/runtime/Token;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;Lorg/antlr/tool/GrammarAST;Lorg/antlr/tool/GrammarAST;I)V
    MethodParameters:
              Name  Flags
      ruleToken     
      modifier      
      options       
      tree          
      argActionAST  
      numAlts       

  public java.lang.String defineSyntacticPredicate(org.antlr.tool.GrammarAST, java.lang.String);
    descriptor: (Lorg/antlr/tool/GrammarAST;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.tool.GrammarAST blockAST
        start local 2 // java.lang.String currentRuleName
         0: .line 1498
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.nameToSynpredASTMap:Ljava/util/LinkedHashMap;
            ifnonnull 2
         1: .line 1499
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.antlr.tool.Grammar.nameToSynpredASTMap:Ljava/util/LinkedHashMap;
         2: .line 1502
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "synpred"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.nameToSynpredASTMap:Ljava/util/LinkedHashMap;
            invokevirtual java.util.LinkedHashMap.size:()I
            iconst_1
            iadd
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 1501
            astore 3 /* predName */
        start local 3 // java.lang.String predName
         4: .line 1503
            aload 1 /* blockAST */
            aload 3 /* predName */
            invokevirtual org.antlr.tool.GrammarAST.setTreeEnclosingRuleNameDeeply:(Ljava/lang/String;)V
         5: .line 1504
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.nameToSynpredASTMap:Ljava/util/LinkedHashMap;
            aload 3 /* predName */
            aload 1 /* blockAST */
            invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 1505
            aload 3 /* predName */
            areturn
        end local 3 // java.lang.String predName
        end local 2 // java.lang.String currentRuleName
        end local 1 // org.antlr.tool.GrammarAST blockAST
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lorg/antlr/tool/Grammar;
            0    7     1         blockAST  Lorg/antlr/tool/GrammarAST;
            0    7     2  currentRuleName  Ljava/lang/String;
            4    7     3         predName  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      blockAST         
      currentRuleName  

  public java.util.LinkedHashMap<java.lang.String, org.antlr.tool.GrammarAST> getSyntacticPredicates();
    descriptor: ()Ljava/util/LinkedHashMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 1509
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.nameToSynpredASTMap:Ljava/util/LinkedHashMap;
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;
    Signature: ()Ljava/util/LinkedHashMap<Ljava/lang/String;Lorg/antlr/tool/GrammarAST;>;

  public org.antlr.tool.GrammarAST getSyntacticPredicate(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/antlr/tool/GrammarAST;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String name
         0: .line 1513
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.nameToSynpredASTMap:Ljava/util/LinkedHashMap;
            ifnonnull 2
         1: .line 1514
            aconst_null
            areturn
         2: .line 1516
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.nameToSynpredASTMap:Ljava/util/LinkedHashMap;
            aload 1 /* name */
            invokevirtual java.util.LinkedHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.antlr.tool.GrammarAST
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/antlr/tool/Grammar;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public void synPredUsedInDFA(org.antlr.analysis.DFA, org.antlr.analysis.SemanticContext);
    descriptor: (Lorg/antlr/analysis/DFA;Lorg/antlr/analysis/SemanticContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.analysis.DFA dfa
        start local 2 // org.antlr.analysis.SemanticContext semCtx
         0: .line 1520
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.decisionsWhoseDFAsUsesSynPreds:Ljava/util/Set;
            aload 1 /* dfa */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 1521
            aload 2 /* semCtx */
            aload 0 /* this */
            invokevirtual org.antlr.analysis.SemanticContext.trackUseOfSyntacticPredicates:(Lorg/antlr/tool/Grammar;)V
         2: .line 1522
            return
        end local 2 // org.antlr.analysis.SemanticContext semCtx
        end local 1 // org.antlr.analysis.DFA dfa
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/antlr/tool/Grammar;
            0    3     1     dfa  Lorg/antlr/analysis/DFA;
            0    3     2  semCtx  Lorg/antlr/analysis/SemanticContext;
    MethodParameters:
        Name  Flags
      dfa     
      semCtx  

  public void defineNamedAction(org.antlr.tool.GrammarAST, java.lang.String, org.antlr.tool.GrammarAST, org.antlr.tool.GrammarAST);
    descriptor: (Lorg/antlr/tool/GrammarAST;Ljava/lang/String;Lorg/antlr/tool/GrammarAST;Lorg/antlr/tool/GrammarAST;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=5
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.tool.GrammarAST ampersandAST
        start local 2 // java.lang.String scope
        start local 3 // org.antlr.tool.GrammarAST nameAST
        start local 4 // org.antlr.tool.GrammarAST actionAST
         0: .line 1539
            aload 2 /* scope */
            ifnonnull 2
         1: .line 1540
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.type:I
            invokevirtual org.antlr.tool.Grammar.getDefaultActionScope:(I)Ljava/lang/String;
            astore 2 /* scope */
         2: .line 1543
      StackMap locals:
      StackMap stack:
            aload 3 /* nameAST */
            invokevirtual org.antlr.tool.GrammarAST.getText:()Ljava/lang/String;
            astore 5 /* actionName */
        start local 5 // java.lang.String actionName
         3: .line 1544
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getActions:()Ljava/util/Map;
            aload 2 /* scope */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 6 /* scopeActions */
        start local 6 // java.util.Map scopeActions
         4: .line 1545
            aload 6 /* scopeActions */
            ifnonnull 7
         5: .line 1546
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 6 /* scopeActions */
         6: .line 1547
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getActions:()Ljava/util/Map;
            aload 2 /* scope */
            aload 6 /* scopeActions */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 1549
      StackMap locals: java.lang.String java.util.Map
      StackMap stack:
            aload 6 /* scopeActions */
            aload 5 /* actionName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* a */
        start local 7 // java.lang.Object a
         8: .line 1550
            aload 7 /* a */
            ifnull 13
         9: .line 1552
            sipush 144
            aload 0 /* this */
        10: .line 1553
            aload 3 /* nameAST */
            invokevirtual org.antlr.tool.GrammarAST.getToken:()Lorg/antlr/runtime/Token;
            aload 3 /* nameAST */
            invokevirtual org.antlr.tool.GrammarAST.getText:()Ljava/lang/String;
        11: .line 1551
            invokestatic org.antlr.tool.ErrorManager.grammarError:(ILorg/antlr/tool/Grammar;Lorg/antlr/runtime/Token;Ljava/lang/Object;)V
        12: .line 1554
            goto 14
        13: .line 1556
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 6 /* scopeActions */
            aload 5 /* actionName */
            aload 4 /* actionAST */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 1559
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            invokevirtual org.antlr.tool.CompositeGrammar.getRootGrammar:()Lorg/antlr/tool/Grammar;
            if_acmpne 21
            aload 5 /* actionName */
            ldc "header"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 21
        15: .line 1560
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            invokevirtual org.antlr.tool.CompositeGrammar.getRootGrammar:()Lorg/antlr/tool/Grammar;
            invokevirtual org.antlr.tool.Grammar.getDelegates:()Ljava/util/List;
            astore 8 /* allgrammars */
        start local 8 // java.util.List allgrammars
        16: .line 1561
            aload 8 /* allgrammars */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 20
      StackMap locals: org.antlr.tool.Grammar org.antlr.tool.GrammarAST java.lang.String org.antlr.tool.GrammarAST org.antlr.tool.GrammarAST java.lang.String java.util.Map java.lang.Object java.util.List top java.util.Iterator
      StackMap stack:
        17: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.antlr.tool.Grammar
            astore 9 /* delegate */
        start local 9 // org.antlr.tool.Grammar delegate
        18: .line 1562
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.target:Lorg/antlr/codegen/Target;
            aload 9 /* delegate */
            getfield org.antlr.tool.Grammar.type:I
            aload 2 /* scope */
            invokevirtual org.antlr.codegen.Target.isValidActionScope:(ILjava/lang/String;)Z
            ifeq 20
        19: .line 1564
            aload 9 /* delegate */
            aload 1 /* ampersandAST */
            aload 2 /* scope */
            aload 3 /* nameAST */
            aload 4 /* actionAST */
            invokevirtual org.antlr.tool.Grammar.defineNamedAction:(Lorg/antlr/tool/GrammarAST;Ljava/lang/String;Lorg/antlr/tool/GrammarAST;Lorg/antlr/tool/GrammarAST;)V
        end local 9 // org.antlr.tool.Grammar delegate
        20: .line 1561
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        end local 8 // java.util.List allgrammars
        21: .line 1568
      StackMap locals: org.antlr.tool.Grammar org.antlr.tool.GrammarAST java.lang.String org.antlr.tool.GrammarAST org.antlr.tool.GrammarAST java.lang.String java.util.Map java.lang.Object
      StackMap stack:
            return
        end local 7 // java.lang.Object a
        end local 6 // java.util.Map scopeActions
        end local 5 // java.lang.String actionName
        end local 4 // org.antlr.tool.GrammarAST actionAST
        end local 3 // org.antlr.tool.GrammarAST nameAST
        end local 2 // java.lang.String scope
        end local 1 // org.antlr.tool.GrammarAST ampersandAST
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   22     0          this  Lorg/antlr/tool/Grammar;
            0   22     1  ampersandAST  Lorg/antlr/tool/GrammarAST;
            0   22     2         scope  Ljava/lang/String;
            0   22     3       nameAST  Lorg/antlr/tool/GrammarAST;
            0   22     4     actionAST  Lorg/antlr/tool/GrammarAST;
            3   22     5    actionName  Ljava/lang/String;
            4   22     6  scopeActions  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            8   22     7             a  Ljava/lang/Object;
           16   21     8   allgrammars  Ljava/util/List<Lorg/antlr/tool/Grammar;>;
           18   20     9      delegate  Lorg/antlr/tool/Grammar;
    MethodParameters:
              Name  Flags
      ampersandAST  
      scope         
      nameAST       
      actionAST     

  public void setSynPredGateIfNotAlready(org.stringtemplate.v4.ST);
    descriptor: (Lorg/stringtemplate/v4/ST;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.stringtemplate.v4.ST gateST
         0: .line 1571
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.type:I
            invokevirtual org.antlr.tool.Grammar.getDefaultActionScope:(I)Ljava/lang/String;
            astore 2 /* scope */
        start local 2 // java.lang.String scope
         1: .line 1572
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getActions:()Ljava/util/Map;
            aload 2 /* scope */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 3 /* actionsForGrammarScope */
        start local 3 // java.util.Map actionsForGrammarScope
         2: .line 1574
            aload 3 /* actionsForGrammarScope */
            ifnull 4
         3: .line 1575
            aload 3 /* actionsForGrammarScope */
            ldc "synpredgate"
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 10
         4: .line 1577
      StackMap locals: java.lang.String java.util.Map
      StackMap stack:
            aload 3 /* actionsForGrammarScope */
            ifnonnull 7
         5: .line 1578
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* actionsForGrammarScope */
         6: .line 1579
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getActions:()Ljava/util/Map;
            aload 2 /* scope */
            aload 3 /* actionsForGrammarScope */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 1581
      StackMap locals:
      StackMap stack:
            aload 3 /* actionsForGrammarScope */
            ldc "synpredgate"
         8: .line 1582
            aload 1 /* gateST */
         9: .line 1581
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 1584
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.Map actionsForGrammarScope
        end local 2 // java.lang.String scope
        end local 1 // org.stringtemplate.v4.ST gateST
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   11     0                    this  Lorg/antlr/tool/Grammar;
            0   11     1                  gateST  Lorg/stringtemplate/v4/ST;
            1   11     2                   scope  Ljava/lang/String;
            2   11     3  actionsForGrammarScope  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    MethodParameters:
        Name  Flags
      gateST  

  public java.util.Map<java.lang.String, java.util.Map<java.lang.String, java.lang.Object>> getActions();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 1587
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.actions:Ljava/util/Map;
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;>;

  public java.lang.String getDefaultActionScope(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // int grammarType
         0: .line 1595
            iload 1 /* grammarType */
            tableswitch { // 1 - 4
                    1: 1
                    2: 2
                    3: 3
                    4: 2
              default: 4
          }
         1: .line 1597
      StackMap locals:
      StackMap stack:
            ldc "lexer"
            areturn
         2: .line 1600
      StackMap locals:
      StackMap stack:
            ldc "parser"
            areturn
         3: .line 1602
      StackMap locals:
      StackMap stack:
            ldc "treeparser"
            areturn
         4: .line 1604
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // int grammarType
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/antlr/tool/Grammar;
            0    5     1  grammarType  I
    MethodParameters:
             Name  Flags
      grammarType  

  public void defineLexerRuleFoundInParser(org.antlr.runtime.Token, org.antlr.tool.GrammarAST);
    descriptor: (Lorg/antlr/runtime/Token;Lorg/antlr/tool/GrammarAST;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.runtime.Token ruleToken
        start local 2 // org.antlr.tool.GrammarAST ruleAST
         0: .line 1616
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* buf */
        start local 3 // java.lang.StringBuilder buf
         1: .line 1617
            aload 3 /* buf */
            ldc "// $ANTLR src \""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 1618
            aload 3 /* buf */
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getFileName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 1619
            aload 3 /* buf */
            ldc "\" "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 1620
            aload 3 /* buf */
            aload 2 /* ruleAST */
            invokevirtual org.antlr.tool.GrammarAST.getLine:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         5: .line 1621
            aload 3 /* buf */
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 1622
            aload 2 /* ruleAST */
            invokevirtual org.antlr.tool.GrammarAST.getTokenStartIndex:()I
            istore 4 /* i */
        start local 4 // int i
         7: .line 1623
            goto 32
         8: .line 1626
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.tokenBuffer:Lorg/antlr/runtime/CommonTokenStream;
            iload 4 /* i */
            invokevirtual org.antlr.runtime.CommonTokenStream.get:(I)Lorg/antlr/runtime/Token;
            checkcast org.antlr.runtime.CommonToken
            astore 5 /* t */
        start local 5 // org.antlr.runtime.CommonToken t
         9: .line 1628
            aload 5 /* t */
            invokevirtual org.antlr.runtime.CommonToken.getType:()I
            bipush 16
            if_icmpne 12
        10: .line 1629
            aload 3 /* buf */
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 1630
            goto 31
        12: .line 1631
      StackMap locals: org.antlr.runtime.CommonToken
      StackMap stack:
            aload 5 /* t */
            invokevirtual org.antlr.runtime.CommonToken.getType:()I
            iconst_4
            if_icmpne 17
        13: .line 1632
            aload 3 /* buf */
            ldc "{"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        14: .line 1633
            aload 3 /* buf */
            aload 5 /* t */
            invokevirtual org.antlr.runtime.CommonToken.getText:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 1634
            aload 3 /* buf */
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 1635
            goto 31
        17: .line 1636
      StackMap locals:
      StackMap stack:
            aload 5 /* t */
            invokevirtual org.antlr.runtime.CommonToken.getType:()I
            bipush 83
            if_icmpeq 21
        18: .line 1637
            aload 5 /* t */
            invokevirtual org.antlr.runtime.CommonToken.getType:()I
            bipush 90
            if_icmpeq 21
        19: .line 1638
            aload 5 /* t */
            invokevirtual org.antlr.runtime.CommonToken.getType:()I
            bipush 41
            if_icmpeq 21
        20: .line 1639
            aload 5 /* t */
            invokevirtual org.antlr.runtime.CommonToken.getType:()I
            bipush 14
            if_icmpne 25
        21: .line 1641
      StackMap locals:
      StackMap stack:
            aload 3 /* buf */
            ldc "{"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        22: .line 1642
            aload 3 /* buf */
            aload 5 /* t */
            invokevirtual org.antlr.runtime.CommonToken.getText:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 1643
            aload 3 /* buf */
            ldc "}?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        24: .line 1644
            goto 31
        25: .line 1645
      StackMap locals:
      StackMap stack:
            aload 5 /* t */
            invokevirtual org.antlr.runtime.CommonToken.getType:()I
            bipush 12
            if_icmpne 30
        26: .line 1646
            aload 3 /* buf */
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        27: .line 1647
            aload 3 /* buf */
            aload 5 /* t */
            invokevirtual org.antlr.runtime.CommonToken.getText:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        28: .line 1648
            aload 3 /* buf */
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        29: .line 1649
            goto 31
        30: .line 1651
      StackMap locals:
      StackMap stack:
            aload 3 /* buf */
            aload 5 /* t */
            invokevirtual org.antlr.runtime.CommonToken.getText:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 5 // org.antlr.runtime.CommonToken t
        31: .line 1624
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
        32: .line 1623
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            aload 2 /* ruleAST */
            invokevirtual org.antlr.tool.GrammarAST.getTokenStopIndex:()I
            if_icmpgt 34
            iload 4 /* i */
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.tokenBuffer:Lorg/antlr/runtime/CommonTokenStream;
            invokevirtual org.antlr.runtime.CommonTokenStream.size:()I
        33: .line 1622
            if_icmplt 8
        end local 4 // int i
        34: .line 1654
      StackMap locals:
      StackMap stack:
            aload 3 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* ruleText */
        start local 4 // java.lang.String ruleText
        35: .line 1657
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getGrammarIsRoot:()Z
            ifeq 37
        36: .line 1658
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.lexerGrammarST:Lorg/stringtemplate/v4/ST;
            ldc "rules"
            aload 4 /* ruleText */
            invokevirtual org.stringtemplate.v4.ST.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/stringtemplate/v4/ST;
            pop
        37: .line 1661
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.lexerRules:Ljava/util/Set;
            aload 1 /* ruleToken */
            invokeinterface org.antlr.runtime.Token.getText:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        38: .line 1662
            return
        end local 4 // java.lang.String ruleText
        end local 3 // java.lang.StringBuilder buf
        end local 2 // org.antlr.tool.GrammarAST ruleAST
        end local 1 // org.antlr.runtime.Token ruleToken
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   39     0       this  Lorg/antlr/tool/Grammar;
            0   39     1  ruleToken  Lorg/antlr/runtime/Token;
            0   39     2    ruleAST  Lorg/antlr/tool/GrammarAST;
            1   39     3        buf  Ljava/lang/StringBuilder;
            7   34     4          i  I
            9   31     5          t  Lorg/antlr/runtime/CommonToken;
           35   39     4   ruleText  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      ruleToken  
      ruleAST    

  public void defineLexerRuleForAliasedStringLiteral(java.lang.String, java.lang.String, int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String tokenID
        start local 2 // java.lang.String literal
        start local 3 // int tokenType
         0: .line 1671
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getGrammarIsRoot:()Z
            ifeq 6
         1: .line 1673
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.lexerGrammarST:Lorg/stringtemplate/v4/ST;
            ldc "literals.{ruleName,type,literal}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 1674
            aload 1 /* tokenID */
            aastore
            dup
            iconst_1
         3: .line 1675
            iload 3 /* tokenType */
            invokestatic org.antlr.misc.Utils.integer:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
         4: .line 1676
            aload 2 /* literal */
            aastore
         5: .line 1673
            invokevirtual org.stringtemplate.v4.ST.addAggr:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/stringtemplate/v4/ST;
            pop
         6: .line 1679
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.lexerRules:Ljava/util/Set;
            aload 1 /* tokenID */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         7: .line 1680
            return
        end local 3 // int tokenType
        end local 2 // java.lang.String literal
        end local 1 // java.lang.String tokenID
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/antlr/tool/Grammar;
            0    8     1    tokenID  Ljava/lang/String;
            0    8     2    literal  Ljava/lang/String;
            0    8     3  tokenType  I
    MethodParameters:
           Name  Flags
      tokenID    
      literal    
      tokenType  

  public void defineLexerRuleForStringLiteral(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String literal
        start local 2 // int tokenType
         0: .line 1685
            aload 0 /* this */
            iload 2 /* tokenType */
            aload 1 /* literal */
            invokevirtual org.antlr.tool.Grammar.computeTokenNameFromLiteral:(ILjava/lang/String;)Ljava/lang/String;
            astore 3 /* tokenID */
        start local 3 // java.lang.String tokenID
         1: .line 1686
            aload 0 /* this */
            aload 3 /* tokenID */
            iload 2 /* tokenType */
            invokevirtual org.antlr.tool.Grammar.defineToken:(Ljava/lang/String;I)V
         2: .line 1688
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getGrammarIsRoot:()Z
            ifeq 8
         3: .line 1689
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.lexerGrammarST:Lorg/stringtemplate/v4/ST;
            ldc "literals.{ruleName,type,literal}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         4: .line 1690
            aload 3 /* tokenID */
            aastore
            dup
            iconst_1
         5: .line 1691
            iload 2 /* tokenType */
            invokestatic org.antlr.misc.Utils.integer:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
         6: .line 1692
            aload 1 /* literal */
            aastore
         7: .line 1689
            invokevirtual org.stringtemplate.v4.ST.addAggr:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/stringtemplate/v4/ST;
            pop
         8: .line 1694
      StackMap locals: java.lang.String
      StackMap stack:
            return
        end local 3 // java.lang.String tokenID
        end local 2 // int tokenType
        end local 1 // java.lang.String literal
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/antlr/tool/Grammar;
            0    9     1    literal  Ljava/lang/String;
            0    9     2  tokenType  I
            1    9     3    tokenID  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      literal    
      tokenType  

  public org.antlr.tool.Rule getLocallyDefinedRule(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/antlr/tool/Rule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String ruleName
         0: .line 1697
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.nameToRuleMap:Ljava/util/LinkedHashMap;
            aload 1 /* ruleName */
            invokevirtual java.util.LinkedHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.antlr.tool.Rule
            astore 2 /* r */
        start local 2 // org.antlr.tool.Rule r
         1: .line 1698
            aload 2 /* r */
            areturn
        end local 2 // org.antlr.tool.Rule r
        end local 1 // java.lang.String ruleName
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/antlr/tool/Grammar;
            0    2     1  ruleName  Ljava/lang/String;
            1    2     2         r  Lorg/antlr/tool/Rule;
    MethodParameters:
          Name  Flags
      ruleName  

  public org.antlr.tool.Rule getRule(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/antlr/tool/Rule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String ruleName
         0: .line 1702
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            aload 1 /* ruleName */
            invokevirtual org.antlr.tool.CompositeGrammar.getRule:(Ljava/lang/String;)Lorg/antlr/tool/Rule;
            astore 2 /* r */
        start local 2 // org.antlr.tool.Rule r
         1: .line 1708
            aload 2 /* r */
            areturn
        end local 2 // org.antlr.tool.Rule r
        end local 1 // java.lang.String ruleName
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/antlr/tool/Grammar;
            0    2     1  ruleName  Ljava/lang/String;
            1    2     2         r  Lorg/antlr/tool/Rule;
    MethodParameters:
          Name  Flags
      ruleName  

  public org.antlr.tool.Rule getRule(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/antlr/tool/Rule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String scopeName
        start local 2 // java.lang.String ruleName
         0: .line 1712
            aload 1 /* scopeName */
            ifnull 5
         1: .line 1713
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            aload 1 /* scopeName */
            invokevirtual org.antlr.tool.CompositeGrammar.getGrammar:(Ljava/lang/String;)Lorg/antlr/tool/Grammar;
            astore 3 /* scope */
        start local 3 // org.antlr.tool.Grammar scope
         2: .line 1714
            aload 3 /* scope */
            ifnonnull 4
         3: .line 1715
            aconst_null
            areturn
         4: .line 1717
      StackMap locals: org.antlr.tool.Grammar
      StackMap stack:
            aload 3 /* scope */
            aload 2 /* ruleName */
            invokevirtual org.antlr.tool.Grammar.getLocallyDefinedRule:(Ljava/lang/String;)Lorg/antlr/tool/Rule;
            areturn
        end local 3 // org.antlr.tool.Grammar scope
         5: .line 1719
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* ruleName */
            invokevirtual org.antlr.tool.Grammar.getRule:(Ljava/lang/String;)Lorg/antlr/tool/Rule;
            areturn
        end local 2 // java.lang.String ruleName
        end local 1 // java.lang.String scopeName
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/antlr/tool/Grammar;
            0    6     1  scopeName  Ljava/lang/String;
            0    6     2   ruleName  Ljava/lang/String;
            2    5     3      scope  Lorg/antlr/tool/Grammar;
    MethodParameters:
           Name  Flags
      scopeName  
      ruleName   

  public int getRuleIndex(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String scopeName
        start local 2 // java.lang.String ruleName
         0: .line 1723
            aload 0 /* this */
            aload 1 /* scopeName */
            aload 2 /* ruleName */
            invokevirtual org.antlr.tool.Grammar.getRule:(Ljava/lang/String;Ljava/lang/String;)Lorg/antlr/tool/Rule;
            astore 3 /* r */
        start local 3 // org.antlr.tool.Rule r
         1: .line 1724
            aload 3 /* r */
            ifnull 3
         2: .line 1725
            aload 3 /* r */
            getfield org.antlr.tool.Rule.index:I
            ireturn
         3: .line 1727
      StackMap locals: org.antlr.tool.Rule
      StackMap stack:
            iconst_m1
            ireturn
        end local 3 // org.antlr.tool.Rule r
        end local 2 // java.lang.String ruleName
        end local 1 // java.lang.String scopeName
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/antlr/tool/Grammar;
            0    4     1  scopeName  Ljava/lang/String;
            0    4     2   ruleName  Ljava/lang/String;
            1    4     3          r  Lorg/antlr/tool/Rule;
    MethodParameters:
           Name  Flags
      scopeName  
      ruleName   

  public int getRuleIndex(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String ruleName
         0: .line 1731
            aload 0 /* this */
            aconst_null
            aload 1 /* ruleName */
            invokevirtual org.antlr.tool.Grammar.getRuleIndex:(Ljava/lang/String;Ljava/lang/String;)I
            ireturn
        end local 1 // java.lang.String ruleName
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/antlr/tool/Grammar;
            0    1     1  ruleName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      ruleName  

  public java.lang.String getRuleName(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // int ruleIndex
         0: .line 1735
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.ruleIndexToRuleList:Ljava/util/Vector;
            iload 1 /* ruleIndex */
            invokevirtual java.util.Vector.get:(I)Ljava/lang/Object;
            checkcast org.antlr.tool.Rule
            astore 2 /* r */
        start local 2 // org.antlr.tool.Rule r
         1: .line 1736
            aload 2 /* r */
            ifnull 3
         2: .line 1737
            aload 2 /* r */
            getfield org.antlr.tool.Rule.name:Ljava/lang/String;
            areturn
         3: .line 1739
      StackMap locals: org.antlr.tool.Rule
      StackMap stack:
            aconst_null
            areturn
        end local 2 // org.antlr.tool.Rule r
        end local 1 // int ruleIndex
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/antlr/tool/Grammar;
            0    4     1  ruleIndex  I
            1    4     2          r  Lorg/antlr/tool/Rule;
    MethodParameters:
           Name  Flags
      ruleIndex  

  public boolean generateMethodForRule(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String ruleName
         0: .line 1748
            aload 1 /* ruleName */
            ldc "Tokens"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 1751
            iconst_1
            ireturn
         2: .line 1753
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.overriddenRules:Ljava/util/Set;
            aload 1 /* ruleName */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 1755
            iconst_0
            ireturn
         4: .line 1758
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ruleName */
            invokevirtual org.antlr.tool.Grammar.getLocallyDefinedRule:(Ljava/lang/String;)Lorg/antlr/tool/Rule;
            astore 2 /* r */
        start local 2 // org.antlr.tool.Rule r
         5: .line 1759
            aload 2 /* r */
            getfield org.antlr.tool.Rule.isSynPred:Z
            ifeq 8
         6: .line 1760
            aload 2 /* r */
            getfield org.antlr.tool.Rule.isSynPred:Z
            ifeq 7
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.synPredNamesUsedInDFA:Ljava/util/Set;
            aload 1 /* ruleName */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 8
         7: .line 1759
      StackMap locals: org.antlr.tool.Rule
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         8: iconst_1
            ireturn
        end local 2 // org.antlr.tool.Rule r
        end local 1 // java.lang.String ruleName
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/antlr/tool/Grammar;
            0    9     1  ruleName  Ljava/lang/String;
            5    9     2         r  Lorg/antlr/tool/Rule;
    MethodParameters:
          Name  Flags
      ruleName  

  public org.antlr.tool.AttributeScope defineGlobalScope(java.lang.String, org.antlr.runtime.Token);
    descriptor: (Ljava/lang/String;Lorg/antlr/runtime/Token;)Lorg/antlr/tool/AttributeScope;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String name
        start local 2 // org.antlr.runtime.Token scopeAction
         0: .line 1764
            new org.antlr.tool.AttributeScope
            dup
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* scopeAction */
            invokespecial org.antlr.tool.AttributeScope.<init>:(Lorg/antlr/tool/Grammar;Ljava/lang/String;Lorg/antlr/runtime/Token;)V
            astore 3 /* scope */
        start local 3 // org.antlr.tool.AttributeScope scope
         1: .line 1765
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.scopes:Ljava/util/Map;
            aload 1 /* name */
            aload 3 /* scope */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 1766
            aload 3 /* scope */
            areturn
        end local 3 // org.antlr.tool.AttributeScope scope
        end local 2 // org.antlr.runtime.Token scopeAction
        end local 1 // java.lang.String name
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/antlr/tool/Grammar;
            0    3     1         name  Ljava/lang/String;
            0    3     2  scopeAction  Lorg/antlr/runtime/Token;
            1    3     3        scope  Lorg/antlr/tool/AttributeScope;
    MethodParameters:
             Name  Flags
      name         
      scopeAction  

  public org.antlr.tool.AttributeScope createReturnScope(java.lang.String, org.antlr.runtime.Token);
    descriptor: (Ljava/lang/String;Lorg/antlr/runtime/Token;)Lorg/antlr/tool/AttributeScope;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String ruleName
        start local 2 // org.antlr.runtime.Token retAction
         0: .line 1770
            new org.antlr.tool.AttributeScope
            dup
            aload 0 /* this */
            aload 1 /* ruleName */
            aload 2 /* retAction */
            invokespecial org.antlr.tool.AttributeScope.<init>:(Lorg/antlr/tool/Grammar;Ljava/lang/String;Lorg/antlr/runtime/Token;)V
            astore 3 /* scope */
        start local 3 // org.antlr.tool.AttributeScope scope
         1: .line 1771
            aload 3 /* scope */
            iconst_1
            putfield org.antlr.tool.AttributeScope.isReturnScope:Z
         2: .line 1772
            aload 3 /* scope */
            areturn
        end local 3 // org.antlr.tool.AttributeScope scope
        end local 2 // org.antlr.runtime.Token retAction
        end local 1 // java.lang.String ruleName
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/antlr/tool/Grammar;
            0    3     1   ruleName  Ljava/lang/String;
            0    3     2  retAction  Lorg/antlr/runtime/Token;
            1    3     3      scope  Lorg/antlr/tool/AttributeScope;
    MethodParameters:
           Name  Flags
      ruleName   
      retAction  

  public org.antlr.tool.AttributeScope createRuleScope(java.lang.String, org.antlr.runtime.Token);
    descriptor: (Ljava/lang/String;Lorg/antlr/runtime/Token;)Lorg/antlr/tool/AttributeScope;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String ruleName
        start local 2 // org.antlr.runtime.Token scopeAction
         0: .line 1776
            new org.antlr.tool.AttributeScope
            dup
            aload 0 /* this */
            aload 1 /* ruleName */
            aload 2 /* scopeAction */
            invokespecial org.antlr.tool.AttributeScope.<init>:(Lorg/antlr/tool/Grammar;Ljava/lang/String;Lorg/antlr/runtime/Token;)V
            astore 3 /* scope */
        start local 3 // org.antlr.tool.AttributeScope scope
         1: .line 1777
            aload 3 /* scope */
            iconst_1
            putfield org.antlr.tool.AttributeScope.isDynamicRuleScope:Z
         2: .line 1778
            aload 3 /* scope */
            areturn
        end local 3 // org.antlr.tool.AttributeScope scope
        end local 2 // org.antlr.runtime.Token scopeAction
        end local 1 // java.lang.String ruleName
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/antlr/tool/Grammar;
            0    3     1     ruleName  Ljava/lang/String;
            0    3     2  scopeAction  Lorg/antlr/runtime/Token;
            1    3     3        scope  Lorg/antlr/tool/AttributeScope;
    MethodParameters:
             Name  Flags
      ruleName     
      scopeAction  

  public org.antlr.tool.AttributeScope createParameterScope(java.lang.String, org.antlr.runtime.Token);
    descriptor: (Ljava/lang/String;Lorg/antlr/runtime/Token;)Lorg/antlr/tool/AttributeScope;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String ruleName
        start local 2 // org.antlr.runtime.Token argAction
         0: .line 1782
            new org.antlr.tool.AttributeScope
            dup
            aload 0 /* this */
            aload 1 /* ruleName */
            aload 2 /* argAction */
            invokespecial org.antlr.tool.AttributeScope.<init>:(Lorg/antlr/tool/Grammar;Ljava/lang/String;Lorg/antlr/runtime/Token;)V
            astore 3 /* scope */
        start local 3 // org.antlr.tool.AttributeScope scope
         1: .line 1783
            aload 3 /* scope */
            iconst_1
            putfield org.antlr.tool.AttributeScope.isParameterScope:Z
         2: .line 1784
            aload 3 /* scope */
            areturn
        end local 3 // org.antlr.tool.AttributeScope scope
        end local 2 // org.antlr.runtime.Token argAction
        end local 1 // java.lang.String ruleName
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/antlr/tool/Grammar;
            0    3     1   ruleName  Ljava/lang/String;
            0    3     2  argAction  Lorg/antlr/runtime/Token;
            1    3     3      scope  Lorg/antlr/tool/AttributeScope;
    MethodParameters:
           Name  Flags
      ruleName   
      argAction  

  public org.antlr.tool.AttributeScope getGlobalScope(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/antlr/tool/AttributeScope;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String name
         0: .line 1789
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.scopes:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.antlr.tool.AttributeScope
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.util.Map<java.lang.String, org.antlr.tool.AttributeScope> getGlobalScopes();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 1793
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.scopes:Ljava/util/Map;
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/antlr/tool/AttributeScope;>;

  protected void defineLabel(org.antlr.tool.Rule, org.antlr.runtime.Token, org.antlr.tool.GrammarAST, int);
    descriptor: (Lorg/antlr/tool/Rule;Lorg/antlr/runtime/Token;Lorg/antlr/tool/GrammarAST;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.tool.Rule r
        start local 2 // org.antlr.runtime.Token label
        start local 3 // org.antlr.tool.GrammarAST element
        start local 4 // int type
         0: .line 1800
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.nameSpaceChecker:Lorg/antlr/tool/NameSpaceChecker;
            aload 1 /* r */
            aload 2 /* label */
            iload 4 /* type */
            invokevirtual org.antlr.tool.NameSpaceChecker.checkForLabelTypeMismatch:(Lorg/antlr/tool/Rule;Lorg/antlr/runtime/Token;I)Z
            istore 5 /* err */
        start local 5 // boolean err
         1: .line 1801
            iload 5 /* err */
            ifeq 3
         2: .line 1802
            return
         3: .line 1804
      StackMap locals: int
      StackMap stack:
            aload 1 /* r */
            aload 2 /* label */
            aload 3 /* element */
            iload 4 /* type */
            invokevirtual org.antlr.tool.Rule.defineLabel:(Lorg/antlr/runtime/Token;Lorg/antlr/tool/GrammarAST;I)V
         4: .line 1805
            return
        end local 5 // boolean err
        end local 4 // int type
        end local 3 // org.antlr.tool.GrammarAST element
        end local 2 // org.antlr.runtime.Token label
        end local 1 // org.antlr.tool.Rule r
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/antlr/tool/Grammar;
            0    5     1        r  Lorg/antlr/tool/Rule;
            0    5     2    label  Lorg/antlr/runtime/Token;
            0    5     3  element  Lorg/antlr/tool/GrammarAST;
            0    5     4     type  I
            1    5     5      err  Z
    MethodParameters:
         Name  Flags
      r        
      label    
      element  
      type     

  public void defineTokenRefLabel(java.lang.String, org.antlr.runtime.Token, org.antlr.tool.GrammarAST);
    descriptor: (Ljava/lang/String;Lorg/antlr/runtime/Token;Lorg/antlr/tool/GrammarAST;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String ruleName
        start local 2 // org.antlr.runtime.Token label
        start local 3 // org.antlr.tool.GrammarAST tokenRef
         0: .line 1811
            aload 0 /* this */
            aload 1 /* ruleName */
            invokevirtual org.antlr.tool.Grammar.getLocallyDefinedRule:(Ljava/lang/String;)Lorg/antlr/tool/Rule;
            astore 4 /* r */
        start local 4 // org.antlr.tool.Rule r
         1: .line 1812
            aload 4 /* r */
            ifnull 11
         2: .line 1813
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.type:I
            iconst_1
            if_icmpne 10
         3: .line 1814
            aload 3 /* tokenRef */
            invokevirtual org.antlr.tool.GrammarAST.getType:()I
            bipush 18
            if_icmpeq 8
         4: .line 1815
            aload 3 /* tokenRef */
            invokevirtual org.antlr.tool.GrammarAST.getType:()I
            bipush 16
            if_icmpeq 8
         5: .line 1816
            aload 3 /* tokenRef */
            invokevirtual org.antlr.tool.GrammarAST.getType:()I
            bipush 55
            if_icmpeq 8
         6: .line 1817
            aload 3 /* tokenRef */
            invokevirtual org.antlr.tool.GrammarAST.getType:()I
            bipush 19
            if_icmpeq 8
         7: .line 1818
            aload 3 /* tokenRef */
            invokevirtual org.antlr.tool.GrammarAST.getType:()I
            bipush 98
            if_icmpne 10
         8: .line 1820
      StackMap locals: org.antlr.tool.Rule
      StackMap stack:
            aload 0 /* this */
            aload 4 /* r */
            aload 2 /* label */
            aload 3 /* tokenRef */
            iconst_5
            invokevirtual org.antlr.tool.Grammar.defineLabel:(Lorg/antlr/tool/Rule;Lorg/antlr/runtime/Token;Lorg/antlr/tool/GrammarAST;I)V
         9: .line 1821
            goto 11
        10: .line 1823
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* r */
            aload 2 /* label */
            aload 3 /* tokenRef */
            iconst_2
            invokevirtual org.antlr.tool.Grammar.defineLabel:(Lorg/antlr/tool/Rule;Lorg/antlr/runtime/Token;Lorg/antlr/tool/GrammarAST;I)V
        11: .line 1826
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.antlr.tool.Rule r
        end local 3 // org.antlr.tool.GrammarAST tokenRef
        end local 2 // org.antlr.runtime.Token label
        end local 1 // java.lang.String ruleName
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lorg/antlr/tool/Grammar;
            0   12     1  ruleName  Ljava/lang/String;
            0   12     2     label  Lorg/antlr/runtime/Token;
            0   12     3  tokenRef  Lorg/antlr/tool/GrammarAST;
            1   12     4         r  Lorg/antlr/tool/Rule;
    MethodParameters:
          Name  Flags
      ruleName  
      label     
      tokenRef  

  public void defineWildcardTreeLabel(java.lang.String, org.antlr.runtime.Token, org.antlr.tool.GrammarAST);
    descriptor: (Ljava/lang/String;Lorg/antlr/runtime/Token;Lorg/antlr/tool/GrammarAST;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String ruleName
        start local 2 // org.antlr.runtime.Token label
        start local 3 // org.antlr.tool.GrammarAST tokenRef
         0: .line 1832
            aload 0 /* this */
            aload 1 /* ruleName */
            invokevirtual org.antlr.tool.Grammar.getLocallyDefinedRule:(Ljava/lang/String;)Lorg/antlr/tool/Rule;
            astore 4 /* r */
        start local 4 // org.antlr.tool.Rule r
         1: .line 1833
            aload 4 /* r */
            ifnull 3
         2: .line 1834
            aload 0 /* this */
            aload 4 /* r */
            aload 2 /* label */
            aload 3 /* tokenRef */
            bipush 6
            invokevirtual org.antlr.tool.Grammar.defineLabel:(Lorg/antlr/tool/Rule;Lorg/antlr/runtime/Token;Lorg/antlr/tool/GrammarAST;I)V
         3: .line 1836
      StackMap locals: org.antlr.tool.Rule
      StackMap stack:
            return
        end local 4 // org.antlr.tool.Rule r
        end local 3 // org.antlr.tool.GrammarAST tokenRef
        end local 2 // org.antlr.runtime.Token label
        end local 1 // java.lang.String ruleName
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/antlr/tool/Grammar;
            0    4     1  ruleName  Ljava/lang/String;
            0    4     2     label  Lorg/antlr/runtime/Token;
            0    4     3  tokenRef  Lorg/antlr/tool/GrammarAST;
            1    4     4         r  Lorg/antlr/tool/Rule;
    MethodParameters:
          Name  Flags
      ruleName  
      label     
      tokenRef  

  public void defineWildcardTreeListLabel(java.lang.String, org.antlr.runtime.Token, org.antlr.tool.GrammarAST);
    descriptor: (Ljava/lang/String;Lorg/antlr/runtime/Token;Lorg/antlr/tool/GrammarAST;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String ruleName
        start local 2 // org.antlr.runtime.Token label
        start local 3 // org.antlr.tool.GrammarAST tokenRef
         0: .line 1842
            aload 0 /* this */
            aload 1 /* ruleName */
            invokevirtual org.antlr.tool.Grammar.getLocallyDefinedRule:(Ljava/lang/String;)Lorg/antlr/tool/Rule;
            astore 4 /* r */
        start local 4 // org.antlr.tool.Rule r
         1: .line 1843
            aload 4 /* r */
            ifnull 3
         2: .line 1844
            aload 0 /* this */
            aload 4 /* r */
            aload 2 /* label */
            aload 3 /* tokenRef */
            bipush 7
            invokevirtual org.antlr.tool.Grammar.defineLabel:(Lorg/antlr/tool/Rule;Lorg/antlr/runtime/Token;Lorg/antlr/tool/GrammarAST;I)V
         3: .line 1846
      StackMap locals: org.antlr.tool.Rule
      StackMap stack:
            return
        end local 4 // org.antlr.tool.Rule r
        end local 3 // org.antlr.tool.GrammarAST tokenRef
        end local 2 // org.antlr.runtime.Token label
        end local 1 // java.lang.String ruleName
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/antlr/tool/Grammar;
            0    4     1  ruleName  Ljava/lang/String;
            0    4     2     label  Lorg/antlr/runtime/Token;
            0    4     3  tokenRef  Lorg/antlr/tool/GrammarAST;
            1    4     4         r  Lorg/antlr/tool/Rule;
    MethodParameters:
          Name  Flags
      ruleName  
      label     
      tokenRef  

  public void defineRuleRefLabel(java.lang.String, org.antlr.runtime.Token, org.antlr.tool.GrammarAST);
    descriptor: (Ljava/lang/String;Lorg/antlr/runtime/Token;Lorg/antlr/tool/GrammarAST;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String ruleName
        start local 2 // org.antlr.runtime.Token label
        start local 3 // org.antlr.tool.GrammarAST ruleRef
         0: .line 1852
            aload 0 /* this */
            aload 1 /* ruleName */
            invokevirtual org.antlr.tool.Grammar.getLocallyDefinedRule:(Ljava/lang/String;)Lorg/antlr/tool/Rule;
            astore 4 /* r */
        start local 4 // org.antlr.tool.Rule r
         1: .line 1853
            aload 4 /* r */
            ifnull 3
         2: .line 1854
            aload 0 /* this */
            aload 4 /* r */
            aload 2 /* label */
            aload 3 /* ruleRef */
            iconst_1
            invokevirtual org.antlr.tool.Grammar.defineLabel:(Lorg/antlr/tool/Rule;Lorg/antlr/runtime/Token;Lorg/antlr/tool/GrammarAST;I)V
         3: .line 1856
      StackMap locals: org.antlr.tool.Rule
      StackMap stack:
            return
        end local 4 // org.antlr.tool.Rule r
        end local 3 // org.antlr.tool.GrammarAST ruleRef
        end local 2 // org.antlr.runtime.Token label
        end local 1 // java.lang.String ruleName
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/antlr/tool/Grammar;
            0    4     1  ruleName  Ljava/lang/String;
            0    4     2     label  Lorg/antlr/runtime/Token;
            0    4     3   ruleRef  Lorg/antlr/tool/GrammarAST;
            1    4     4         r  Lorg/antlr/tool/Rule;
    MethodParameters:
          Name  Flags
      ruleName  
      label     
      ruleRef   

  public void defineTokenListLabel(java.lang.String, org.antlr.runtime.Token, org.antlr.tool.GrammarAST);
    descriptor: (Ljava/lang/String;Lorg/antlr/runtime/Token;Lorg/antlr/tool/GrammarAST;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String ruleName
        start local 2 // org.antlr.runtime.Token label
        start local 3 // org.antlr.tool.GrammarAST element
         0: .line 1862
            aload 0 /* this */
            aload 1 /* ruleName */
            invokevirtual org.antlr.tool.Grammar.getLocallyDefinedRule:(Ljava/lang/String;)Lorg/antlr/tool/Rule;
            astore 4 /* r */
        start local 4 // org.antlr.tool.Rule r
         1: .line 1863
            aload 4 /* r */
            ifnull 3
         2: .line 1864
            aload 0 /* this */
            aload 4 /* r */
            aload 2 /* label */
            aload 3 /* element */
            iconst_4
            invokevirtual org.antlr.tool.Grammar.defineLabel:(Lorg/antlr/tool/Rule;Lorg/antlr/runtime/Token;Lorg/antlr/tool/GrammarAST;I)V
         3: .line 1866
      StackMap locals: org.antlr.tool.Rule
      StackMap stack:
            return
        end local 4 // org.antlr.tool.Rule r
        end local 3 // org.antlr.tool.GrammarAST element
        end local 2 // org.antlr.runtime.Token label
        end local 1 // java.lang.String ruleName
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/antlr/tool/Grammar;
            0    4     1  ruleName  Ljava/lang/String;
            0    4     2     label  Lorg/antlr/runtime/Token;
            0    4     3   element  Lorg/antlr/tool/GrammarAST;
            1    4     4         r  Lorg/antlr/tool/Rule;
    MethodParameters:
          Name  Flags
      ruleName  
      label     
      element   

  public void defineRuleListLabel(java.lang.String, org.antlr.runtime.Token, org.antlr.tool.GrammarAST);
    descriptor: (Ljava/lang/String;Lorg/antlr/runtime/Token;Lorg/antlr/tool/GrammarAST;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String ruleName
        start local 2 // org.antlr.runtime.Token label
        start local 3 // org.antlr.tool.GrammarAST element
         0: .line 1872
            aload 0 /* this */
            aload 1 /* ruleName */
            invokevirtual org.antlr.tool.Grammar.getLocallyDefinedRule:(Ljava/lang/String;)Lorg/antlr/tool/Rule;
            astore 4 /* r */
        start local 4 // org.antlr.tool.Rule r
         1: .line 1873
            aload 4 /* r */
            ifnull 7
         2: .line 1874
            aload 4 /* r */
            invokevirtual org.antlr.tool.Rule.getHasMultipleReturnValues:()Z
            ifne 6
         3: .line 1876
            sipush 134
            aload 0 /* this */
         4: .line 1877
            aload 2 /* label */
            aload 2 /* label */
            invokeinterface org.antlr.runtime.Token.getText:()Ljava/lang/String;
         5: .line 1875
            invokestatic org.antlr.tool.ErrorManager.grammarError:(ILorg/antlr/tool/Grammar;Lorg/antlr/runtime/Token;Ljava/lang/Object;)V
         6: .line 1879
      StackMap locals: org.antlr.tool.Rule
      StackMap stack:
            aload 0 /* this */
            aload 4 /* r */
            aload 2 /* label */
            aload 3 /* element */
            iconst_3
            invokevirtual org.antlr.tool.Grammar.defineLabel:(Lorg/antlr/tool/Rule;Lorg/antlr/runtime/Token;Lorg/antlr/tool/GrammarAST;I)V
         7: .line 1881
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.antlr.tool.Rule r
        end local 3 // org.antlr.tool.GrammarAST element
        end local 2 // org.antlr.runtime.Token label
        end local 1 // java.lang.String ruleName
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/antlr/tool/Grammar;
            0    8     1  ruleName  Ljava/lang/String;
            0    8     2     label  Lorg/antlr/runtime/Token;
            0    8     3   element  Lorg/antlr/tool/GrammarAST;
            1    8     4         r  Lorg/antlr/tool/Rule;
    MethodParameters:
          Name  Flags
      ruleName  
      label     
      element   

  public java.util.Set<java.lang.String> getLabels(java.util.Set<org.antlr.tool.GrammarAST>, int);
    descriptor: (Ljava/util/Set;I)Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=9, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.util.Set rewriteElements
        start local 2 // int labelType
         0: .line 1888
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* labels */
        start local 3 // java.util.Set labels
         1: .line 1889
            aload 1 /* rewriteElements */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 11
      StackMap locals: org.antlr.tool.Grammar java.util.Set int java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.antlr.tool.GrammarAST
            astore 4 /* el */
        start local 4 // org.antlr.tool.GrammarAST el
         3: .line 1890
            aload 4 /* el */
            invokevirtual org.antlr.tool.GrammarAST.getType:()I
            bipush 48
            if_icmpne 11
         4: .line 1891
            aload 4 /* el */
            invokevirtual org.antlr.tool.GrammarAST.getText:()Ljava/lang/String;
            astore 6 /* labelName */
        start local 6 // java.lang.String labelName
         5: .line 1892
            aload 0 /* this */
            aload 4 /* el */
            getfield org.antlr.tool.GrammarAST.enclosingRuleName:Ljava/lang/String;
            invokevirtual org.antlr.tool.Grammar.getLocallyDefinedRule:(Ljava/lang/String;)Lorg/antlr/tool/Rule;
            astore 7 /* enclosingRule */
        start local 7 // org.antlr.tool.Rule enclosingRule
         6: .line 1893
            aload 7 /* enclosingRule */
            ifnonnull 7
            goto 11
         7: .line 1894
      StackMap locals: org.antlr.tool.Grammar java.util.Set int java.util.Set org.antlr.tool.GrammarAST java.util.Iterator java.lang.String org.antlr.tool.Rule
      StackMap stack:
            aload 7 /* enclosingRule */
            aload 6 /* labelName */
            invokevirtual org.antlr.tool.Rule.getLabel:(Ljava/lang/String;)Lorg/antlr/tool/Grammar$LabelElementPair;
            astore 8 /* pair */
        start local 8 // org.antlr.tool.Grammar$LabelElementPair pair
         8: .line 1911
            aload 8 /* pair */
            ifnull 11
            aload 8 /* pair */
            getfield org.antlr.tool.Grammar$LabelElementPair.type:I
            iload 2 /* labelType */
            if_icmpne 11
         9: .line 1912
            aload 6 /* labelName */
            aload 4 /* el */
            getfield org.antlr.tool.GrammarAST.enclosingRuleName:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
        10: .line 1914
            aload 3 /* labels */
            aload 6 /* labelName */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // org.antlr.tool.Grammar$LabelElementPair pair
        end local 7 // org.antlr.tool.Rule enclosingRule
        end local 6 // java.lang.String labelName
        end local 4 // org.antlr.tool.GrammarAST el
        11: .line 1889
      StackMap locals: org.antlr.tool.Grammar java.util.Set int java.util.Set top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        12: .line 1918
            aload 3 /* labels */
            areturn
        end local 3 // java.util.Set labels
        end local 2 // int labelType
        end local 1 // java.util.Set rewriteElements
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0             this  Lorg/antlr/tool/Grammar;
            0   13     1  rewriteElements  Ljava/util/Set<Lorg/antlr/tool/GrammarAST;>;
            0   13     2        labelType  I
            1   13     3           labels  Ljava/util/Set<Ljava/lang/String;>;
            3   11     4               el  Lorg/antlr/tool/GrammarAST;
            5   11     6        labelName  Ljava/lang/String;
            6   11     7    enclosingRule  Lorg/antlr/tool/Rule;
            8   11     8             pair  Lorg/antlr/tool/Grammar$LabelElementPair;
    Signature: (Ljava/util/Set<Lorg/antlr/tool/GrammarAST;>;I)Ljava/util/Set<Ljava/lang/String;>;
    MethodParameters:
                 Name  Flags
      rewriteElements  
      labelType        

  protected void examineAllExecutableActions();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=10, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 1927
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getRules:()Ljava/util/Collection;
            astore 1 /* rules */
        start local 1 // java.util.Collection rules
         1: .line 1928
            aload 1 /* rules */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 20
      StackMap locals: org.antlr.tool.Grammar java.util.Collection top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.antlr.tool.Rule
            astore 2 /* r */
        start local 2 // org.antlr.tool.Rule r
         3: .line 1930
            aload 2 /* r */
            invokevirtual org.antlr.tool.Rule.getInlineActions:()Ljava/util/List;
            astore 4 /* actions */
        start local 4 // java.util.List actions
         4: .line 1931
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 11
         6: .line 1932
      StackMap locals: org.antlr.tool.Grammar java.util.Collection org.antlr.tool.Rule java.util.Iterator java.util.List int
      StackMap stack:
            aload 4 /* actions */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.antlr.tool.GrammarAST
            astore 6 /* actionAST */
        start local 6 // org.antlr.tool.GrammarAST actionAST
         7: .line 1934
            new org.antlr.grammar.v3.ActionAnalysis
            dup
            aload 0 /* this */
            aload 2 /* r */
            getfield org.antlr.tool.Rule.name:Ljava/lang/String;
            aload 6 /* actionAST */
            invokespecial org.antlr.grammar.v3.ActionAnalysis.<init>:(Lorg/antlr/tool/Grammar;Ljava/lang/String;Lorg/antlr/tool/GrammarAST;)V
         8: .line 1933
            astore 7 /* sniffer */
        start local 7 // org.antlr.grammar.v3.ActionAnalysis sniffer
         9: .line 1935
            aload 7 /* sniffer */
            invokevirtual org.antlr.grammar.v3.ActionAnalysis.analyze:()V
        end local 7 // org.antlr.grammar.v3.ActionAnalysis sniffer
        end local 6 // org.antlr.tool.GrammarAST actionAST
        10: .line 1931
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            aload 4 /* actions */
            invokeinterface java.util.List.size:()I
            if_icmplt 6
        end local 5 // int i
        12: .line 1938
            aload 2 /* r */
            invokevirtual org.antlr.tool.Rule.getActions:()Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            astore 5 /* namedActions */
        start local 5 // java.util.Collection namedActions
        13: .line 1939
            aload 5 /* namedActions */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 19
      StackMap locals: org.antlr.tool.Grammar java.util.Collection org.antlr.tool.Rule java.util.Iterator java.util.List java.util.Collection top java.util.Iterator
      StackMap stack:
        14: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 6 /* namedAction */
        start local 6 // java.lang.Object namedAction
        15: .line 1940
            aload 6 /* namedAction */
            checkcast org.antlr.tool.GrammarAST
            astore 8 /* actionAST */
        start local 8 // org.antlr.tool.GrammarAST actionAST
        16: .line 1942
            new org.antlr.grammar.v3.ActionAnalysis
            dup
            aload 0 /* this */
            aload 2 /* r */
            getfield org.antlr.tool.Rule.name:Ljava/lang/String;
            aload 8 /* actionAST */
            invokespecial org.antlr.grammar.v3.ActionAnalysis.<init>:(Lorg/antlr/tool/Grammar;Ljava/lang/String;Lorg/antlr/tool/GrammarAST;)V
        17: .line 1941
            astore 9 /* sniffer */
        start local 9 // org.antlr.grammar.v3.ActionAnalysis sniffer
        18: .line 1943
            aload 9 /* sniffer */
            invokevirtual org.antlr.grammar.v3.ActionAnalysis.analyze:()V
        end local 9 // org.antlr.grammar.v3.ActionAnalysis sniffer
        end local 8 // org.antlr.tool.GrammarAST actionAST
        end local 6 // java.lang.Object namedAction
        19: .line 1939
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        end local 5 // java.util.Collection namedActions
        end local 4 // java.util.List actions
        end local 2 // org.antlr.tool.Rule r
        20: .line 1928
      StackMap locals: org.antlr.tool.Grammar java.util.Collection top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        21: .line 1946
            return
        end local 1 // java.util.Collection rules
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   22     0          this  Lorg/antlr/tool/Grammar;
            1   22     1         rules  Ljava/util/Collection<Lorg/antlr/tool/Rule;>;
            3   20     2             r  Lorg/antlr/tool/Rule;
            4   20     4       actions  Ljava/util/List<Lorg/antlr/tool/GrammarAST;>;
            5   12     5             i  I
            7   10     6     actionAST  Lorg/antlr/tool/GrammarAST;
            9   10     7       sniffer  Lorg/antlr/grammar/v3/ActionAnalysis;
           13   20     5  namedActions  Ljava/util/Collection<+Ljava/lang/Object;>;
           15   19     6   namedAction  Ljava/lang/Object;
           16   19     8     actionAST  Lorg/antlr/tool/GrammarAST;
           18   19     9       sniffer  Lorg/antlr/grammar/v3/ActionAnalysis;

  public void checkAllRulesForUselessLabels();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 1952
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.type:I
            iconst_1
            if_icmpne 2
         1: .line 1953
            return
         2: .line 1955
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.nameToRuleMap:Ljava/util/LinkedHashMap;
            invokevirtual java.util.LinkedHashMap.keySet:()Ljava/util/Set;
            astore 1 /* rules */
        start local 1 // java.util.Set rules
         3: .line 1956
            aload 1 /* rules */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 8
      StackMap locals: org.antlr.tool.Grammar java.util.Set top java.util.Iterator
      StackMap stack:
         4: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* ruleName */
        start local 2 // java.lang.String ruleName
         5: .line 1957
            aload 0 /* this */
            aload 2 /* ruleName */
            invokevirtual org.antlr.tool.Grammar.getRule:(Ljava/lang/String;)Lorg/antlr/tool/Rule;
            astore 4 /* r */
        start local 4 // org.antlr.tool.Rule r
         6: .line 1958
            aload 0 /* this */
            aload 4 /* r */
            invokevirtual org.antlr.tool.Rule.getRuleLabels:()Ljava/util/Map;
            invokevirtual org.antlr.tool.Grammar.removeUselessLabels:(Ljava/util/Map;)V
         7: .line 1959
            aload 0 /* this */
            aload 4 /* r */
            invokevirtual org.antlr.tool.Rule.getRuleListLabels:()Ljava/util/Map;
            invokevirtual org.antlr.tool.Grammar.removeUselessLabels:(Ljava/util/Map;)V
        end local 4 // org.antlr.tool.Rule r
        end local 2 // java.lang.String ruleName
         8: .line 1956
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         9: .line 1961
            return
        end local 1 // java.util.Set rules
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/antlr/tool/Grammar;
            3   10     1     rules  Ljava/util/Set<Ljava/lang/String;>;
            5    8     2  ruleName  Ljava/lang/String;
            6    8     4         r  Lorg/antlr/tool/Rule;

  protected void removeUselessLabels(java.util.Map<java.lang.String, org.antlr.tool.Grammar$LabelElementPair>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.util.Map ruleToElementLabelPairMap
         0: .line 1967
            aload 1 /* ruleToElementLabelPairMap */
            ifnonnull 2
         1: .line 1968
            return
         2: .line 1970
      StackMap locals:
      StackMap stack:
            aload 1 /* ruleToElementLabelPairMap */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            astore 2 /* labels */
        start local 2 // java.util.Collection labels
         3: .line 1971
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* kill */
        start local 3 // java.util.List kill
         4: .line 1972
            aload 2 /* labels */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: org.antlr.tool.Grammar java.util.Map java.util.Collection java.util.List top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.antlr.tool.Grammar$LabelElementPair
            astore 4 /* pair */
        start local 4 // org.antlr.tool.Grammar$LabelElementPair pair
         6: .line 1973
            aload 0 /* this */
            aload 4 /* pair */
            getfield org.antlr.tool.Grammar$LabelElementPair.elementRef:Lorg/antlr/tool/GrammarAST;
            invokevirtual org.antlr.tool.GrammarAST.getText:()Ljava/lang/String;
            invokevirtual org.antlr.tool.Grammar.getRule:(Ljava/lang/String;)Lorg/antlr/tool/Rule;
            astore 6 /* refdRule */
        start local 6 // org.antlr.tool.Rule refdRule
         7: .line 1974
            aload 6 /* refdRule */
            ifnull 9
            aload 6 /* refdRule */
            invokevirtual org.antlr.tool.Rule.getHasReturnValue:()Z
            ifne 9
            aload 4 /* pair */
            getfield org.antlr.tool.Grammar$LabelElementPair.actionReferencesLabel:Z
            ifne 9
         8: .line 1976
            aload 3 /* kill */
            aload 4 /* pair */
            getfield org.antlr.tool.Grammar$LabelElementPair.label:Lorg/antlr/runtime/Token;
            invokeinterface org.antlr.runtime.Token.getText:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.antlr.tool.Rule refdRule
        end local 4 // org.antlr.tool.Grammar$LabelElementPair pair
         9: .line 1972
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        10: .line 1979
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        11: goto 15
        12: .line 1980
      StackMap locals: org.antlr.tool.Grammar java.util.Map java.util.Collection java.util.List int
      StackMap stack:
            aload 3 /* kill */
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* labelToKill */
        start local 5 // java.lang.String labelToKill
        13: .line 1982
            aload 1 /* ruleToElementLabelPairMap */
            aload 5 /* labelToKill */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.lang.String labelToKill
        14: .line 1979
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 4 /* i */
            aload 3 /* kill */
            invokeinterface java.util.List.size:()I
            if_icmplt 12
        end local 4 // int i
        16: .line 1984
            return
        end local 3 // java.util.List kill
        end local 2 // java.util.Collection labels
        end local 1 // java.util.Map ruleToElementLabelPairMap
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   17     0                       this  Lorg/antlr/tool/Grammar;
            0   17     1  ruleToElementLabelPairMap  Ljava/util/Map<Ljava/lang/String;Lorg/antlr/tool/Grammar$LabelElementPair;>;
            3   17     2                     labels  Ljava/util/Collection<Lorg/antlr/tool/Grammar$LabelElementPair;>;
            4   17     3                       kill  Ljava/util/List<Ljava/lang/String;>;
            6    9     4                       pair  Lorg/antlr/tool/Grammar$LabelElementPair;
            7    9     6                   refdRule  Lorg/antlr/tool/Rule;
           11   16     4                          i  I
           13   14     5                labelToKill  Ljava/lang/String;
    Signature: (Ljava/util/Map<Ljava/lang/String;Lorg/antlr/tool/Grammar$LabelElementPair;>;)V
    MethodParameters:
                           Name  Flags
      ruleToElementLabelPairMap  

  public void altReferencesRule(java.lang.String, org.antlr.tool.GrammarAST, org.antlr.tool.GrammarAST, int);
    descriptor: (Ljava/lang/String;Lorg/antlr/tool/GrammarAST;Lorg/antlr/tool/GrammarAST;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String enclosingRuleName
        start local 2 // org.antlr.tool.GrammarAST refScopeAST
        start local 3 // org.antlr.tool.GrammarAST refAST
        start local 4 // int outerAltNum
         0: .line 2007
            aload 0 /* this */
            aload 1 /* enclosingRuleName */
            invokevirtual org.antlr.tool.Grammar.getRule:(Ljava/lang/String;)Lorg/antlr/tool/Rule;
            astore 5 /* r */
        start local 5 // org.antlr.tool.Rule r
         1: .line 2008
            aload 5 /* r */
            ifnonnull 3
         2: .line 2009
            return
         3: .line 2011
      StackMap locals: org.antlr.tool.Rule
      StackMap stack:
            aload 5 /* r */
            aload 3 /* refAST */
            iload 4 /* outerAltNum */
            invokevirtual org.antlr.tool.Rule.trackRuleReferenceInAlt:(Lorg/antlr/tool/GrammarAST;I)V
         4: .line 2012
            aload 3 /* refAST */
            invokevirtual org.antlr.tool.GrammarAST.getToken:()Lorg/antlr/runtime/Token;
            pop
         5: .line 2013
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.ruleRefs:Ljava/util/Set;
            aload 3 /* refAST */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 2014
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.ruleRefs:Ljava/util/Set;
            aload 3 /* refAST */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         7: .line 2016
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.antlr.tool.Rule r
        end local 4 // int outerAltNum
        end local 3 // org.antlr.tool.GrammarAST refAST
        end local 2 // org.antlr.tool.GrammarAST refScopeAST
        end local 1 // java.lang.String enclosingRuleName
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0               this  Lorg/antlr/tool/Grammar;
            0    8     1  enclosingRuleName  Ljava/lang/String;
            0    8     2        refScopeAST  Lorg/antlr/tool/GrammarAST;
            0    8     3             refAST  Lorg/antlr/tool/GrammarAST;
            0    8     4        outerAltNum  I
            1    8     5                  r  Lorg/antlr/tool/Rule;
    MethodParameters:
                   Name  Flags
      enclosingRuleName  
      refScopeAST        
      refAST             
      outerAltNum        

  public void altReferencesTokenID(java.lang.String, org.antlr.tool.GrammarAST, int);
    descriptor: (Ljava/lang/String;Lorg/antlr/tool/GrammarAST;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String ruleName
        start local 2 // org.antlr.tool.GrammarAST refAST
        start local 3 // int outerAltNum
         0: .line 2025
            aload 0 /* this */
            aload 1 /* ruleName */
            invokevirtual org.antlr.tool.Grammar.getLocallyDefinedRule:(Ljava/lang/String;)Lorg/antlr/tool/Rule;
            astore 4 /* r */
        start local 4 // org.antlr.tool.Rule r
         1: .line 2026
            aload 4 /* r */
            ifnonnull 3
         2: .line 2027
            return
         3: .line 2029
      StackMap locals: org.antlr.tool.Rule
      StackMap stack:
            aload 4 /* r */
            aload 2 /* refAST */
            iload 3 /* outerAltNum */
            invokevirtual org.antlr.tool.Rule.trackTokenReferenceInAlt:(Lorg/antlr/tool/GrammarAST;I)V
         4: .line 2030
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.tokenIDRefs:Ljava/util/Set;
            aload 2 /* refAST */
            invokevirtual org.antlr.tool.GrammarAST.getToken:()Lorg/antlr/runtime/Token;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 6
         5: .line 2031
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.tokenIDRefs:Ljava/util/Set;
            aload 2 /* refAST */
            invokevirtual org.antlr.tool.GrammarAST.getToken:()Lorg/antlr/runtime/Token;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         6: .line 2033
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.antlr.tool.Rule r
        end local 3 // int outerAltNum
        end local 2 // org.antlr.tool.GrammarAST refAST
        end local 1 // java.lang.String ruleName
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/antlr/tool/Grammar;
            0    7     1     ruleName  Ljava/lang/String;
            0    7     2       refAST  Lorg/antlr/tool/GrammarAST;
            0    7     3  outerAltNum  I
            1    7     4            r  Lorg/antlr/tool/Rule;
    MethodParameters:
             Name  Flags
      ruleName     
      refAST       
      outerAltNum  

  public void referenceRuleLabelPredefinedAttribute(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String ruleName
         0: .line 2042
            aload 0 /* this */
            aload 1 /* ruleName */
            invokevirtual org.antlr.tool.Grammar.getRule:(Ljava/lang/String;)Lorg/antlr/tool/Rule;
            astore 2 /* r */
        start local 2 // org.antlr.tool.Rule r
         1: .line 2043
            aload 2 /* r */
            ifnull 3
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.type:I
            iconst_1
            if_icmpeq 3
         2: .line 2047
            aload 2 /* r */
            iconst_1
            putfield org.antlr.tool.Rule.referencedPredefinedRuleAttributes:Z
         3: .line 2049
      StackMap locals: org.antlr.tool.Rule
      StackMap stack:
            return
        end local 2 // org.antlr.tool.Rule r
        end local 1 // java.lang.String ruleName
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/antlr/tool/Grammar;
            0    4     1  ruleName  Ljava/lang/String;
            1    4     2         r  Lorg/antlr/tool/Rule;
    MethodParameters:
          Name  Flags
      ruleName  

  public java.util.List<? extends java.util.Collection<? extends org.antlr.tool.Rule>> checkAllRulesForLeftRecursion();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2052
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.sanity:Lorg/antlr/tool/GrammarSanity;
            invokevirtual org.antlr.tool.GrammarSanity.checkAllRulesForLeftRecursion:()Ljava/util/List;
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;
    Signature: ()Ljava/util/List<+Ljava/util/Collection<+Lorg/antlr/tool/Rule;>;>;

  public java.util.Set<org.antlr.tool.Rule> getLeftRecursiveRules();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2060
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.nfa:Lorg/antlr/analysis/NFA;
            ifnonnull 2
         1: .line 2061
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.buildNFA:()V
         2: .line 2063
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.leftRecursiveRules:Ljava/util/Set;
            ifnull 4
         3: .line 2064
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.leftRecursiveRules:Ljava/util/Set;
            areturn
         4: .line 2066
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.sanity:Lorg/antlr/tool/GrammarSanity;
            invokevirtual org.antlr.tool.GrammarSanity.checkAllRulesForLeftRecursion:()Ljava/util/List;
            pop
         5: .line 2067
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.leftRecursiveRules:Ljava/util/Set;
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/antlr/tool/Grammar;
    Signature: ()Ljava/util/Set<Lorg/antlr/tool/Rule;>;

  public void checkRuleReference(org.antlr.tool.GrammarAST, org.antlr.tool.GrammarAST, org.antlr.tool.GrammarAST, java.lang.String);
    descriptor: (Lorg/antlr/tool/GrammarAST;Lorg/antlr/tool/GrammarAST;Lorg/antlr/tool/GrammarAST;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.tool.GrammarAST scopeAST
        start local 2 // org.antlr.tool.GrammarAST refAST
        start local 3 // org.antlr.tool.GrammarAST argsAST
        start local 4 // java.lang.String currentRuleName
         0: .line 2075
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.sanity:Lorg/antlr/tool/GrammarSanity;
            aload 1 /* scopeAST */
            aload 2 /* refAST */
            aload 3 /* argsAST */
            aload 4 /* currentRuleName */
            invokevirtual org.antlr.tool.GrammarSanity.checkRuleReference:(Lorg/antlr/tool/GrammarAST;Lorg/antlr/tool/GrammarAST;Lorg/antlr/tool/GrammarAST;Ljava/lang/String;)V
         1: .line 2076
            return
        end local 4 // java.lang.String currentRuleName
        end local 3 // org.antlr.tool.GrammarAST argsAST
        end local 2 // org.antlr.tool.GrammarAST refAST
        end local 1 // org.antlr.tool.GrammarAST scopeAST
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/antlr/tool/Grammar;
            0    2     1         scopeAST  Lorg/antlr/tool/GrammarAST;
            0    2     2           refAST  Lorg/antlr/tool/GrammarAST;
            0    2     3          argsAST  Lorg/antlr/tool/GrammarAST;
            0    2     4  currentRuleName  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      scopeAST         
      refAST           
      argsAST          
      currentRuleName  

  public boolean isEmptyRule(org.antlr.tool.GrammarAST);
    descriptor: (Lorg/antlr/tool/GrammarAST;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.tool.GrammarAST block
         0: .line 2085
            new java.util.BitSet
            dup
            invokespecial java.util.BitSet.<init>:()V
            astore 2 /* nonEmptyTerminals */
        start local 2 // java.util.BitSet nonEmptyTerminals
         1: .line 2086
            aload 2 /* nonEmptyTerminals */
            bipush 94
            invokevirtual java.util.BitSet.set:(I)V
         2: .line 2087
            aload 2 /* nonEmptyTerminals */
            bipush 88
            invokevirtual java.util.BitSet.set:(I)V
         3: .line 2088
            aload 2 /* nonEmptyTerminals */
            bipush 18
            invokevirtual java.util.BitSet.set:(I)V
         4: .line 2089
            aload 2 /* nonEmptyTerminals */
            bipush 98
            invokevirtual java.util.BitSet.set:(I)V
         5: .line 2090
            aload 2 /* nonEmptyTerminals */
            bipush 80
            invokevirtual java.util.BitSet.set:(I)V
         6: .line 2091
            aload 0 /* this */
            aload 1 /* block */
            aload 2 /* nonEmptyTerminals */
            invokevirtual org.antlr.tool.Grammar.findFirstTypeOutsideRewrite:(Lorg/antlr/tool/GrammarAST;Ljava/util/BitSet;)Lorg/antlr/tool/GrammarAST;
            ifnonnull 7
            iconst_1
            ireturn
      StackMap locals: java.util.BitSet
      StackMap stack:
         7: iconst_0
            ireturn
        end local 2 // java.util.BitSet nonEmptyTerminals
        end local 1 // org.antlr.tool.GrammarAST block
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0               this  Lorg/antlr/tool/Grammar;
            0    8     1              block  Lorg/antlr/tool/GrammarAST;
            1    8     2  nonEmptyTerminals  Ljava/util/BitSet;
    MethodParameters:
       Name  Flags
      block  

  protected org.antlr.tool.GrammarAST findFirstTypeOutsideRewrite(org.antlr.tool.GrammarAST, java.util.BitSet);
    descriptor: (Lorg/antlr/tool/GrammarAST;Ljava/util/BitSet;)Lorg/antlr/tool/GrammarAST;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.tool.GrammarAST block
        start local 2 // java.util.BitSet types
         0: .line 2095
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* worklist */
        start local 3 // java.util.ArrayList worklist
         1: .line 2096
            aload 3 /* worklist */
            aload 1 /* block */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         2: .line 2097
            goto 9
         3: .line 2098
      StackMap locals: java.util.ArrayList
      StackMap stack:
            aload 3 /* worklist */
            aload 3 /* worklist */
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
            checkcast org.antlr.tool.GrammarAST
            astore 4 /* current */
        start local 4 // org.antlr.tool.GrammarAST current
         4: .line 2099
            aload 4 /* current */
            invokevirtual org.antlr.tool.GrammarAST.getType:()I
            bipush 75
            if_icmpne 6
         5: .line 2100
            goto 9
         6: .line 2103
      StackMap locals: org.antlr.tool.GrammarAST
      StackMap stack:
            aload 4 /* current */
            invokevirtual org.antlr.tool.GrammarAST.getType:()I
            iflt 8
            aload 2 /* types */
            aload 4 /* current */
            invokevirtual org.antlr.tool.GrammarAST.getType:()I
            invokevirtual java.util.BitSet.get:(I)Z
            ifeq 8
         7: .line 2104
            aload 4 /* current */
            areturn
         8: .line 2107
      StackMap locals:
      StackMap stack:
            aload 3 /* worklist */
            aload 4 /* current */
            invokevirtual org.antlr.tool.GrammarAST.getChildrenAsArray:()[Lorg/antlr/tool/GrammarAST;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
            pop
        end local 4 // org.antlr.tool.GrammarAST current
         9: .line 2097
      StackMap locals:
      StackMap stack:
            aload 3 /* worklist */
            invokevirtual java.util.ArrayList.isEmpty:()Z
            ifeq 3
        10: .line 2110
            aconst_null
            areturn
        end local 3 // java.util.ArrayList worklist
        end local 2 // java.util.BitSet types
        end local 1 // org.antlr.tool.GrammarAST block
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/antlr/tool/Grammar;
            0   11     1     block  Lorg/antlr/tool/GrammarAST;
            0   11     2     types  Ljava/util/BitSet;
            1   11     3  worklist  Ljava/util/ArrayList<Lorg/antlr/tool/GrammarAST;>;
            4    9     4   current  Lorg/antlr/tool/GrammarAST;
    MethodParameters:
       Name  Flags
      block  
      types  

  public boolean isAtomTokenType(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // int ttype
         0: .line 2114
            iload 1 /* ttype */
            bipush 98
            if_icmpeq 7
         1: .line 2115
            iload 1 /* ttype */
            bipush 18
            if_icmpeq 7
         2: .line 2116
            iload 1 /* ttype */
            bipush 19
            if_icmpeq 7
         3: .line 2117
            iload 1 /* ttype */
            bipush 88
            if_icmpeq 7
         4: .line 2118
            iload 1 /* ttype */
            bipush 55
            if_icmpeq 7
         5: .line 2119
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.type:I
            iconst_1
            if_icmpeq 6
            iload 1 /* ttype */
            bipush 94
            if_icmpeq 7
         6: .line 2114
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_1
            ireturn
        end local 1 // int ttype
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/antlr/tool/Grammar;
            0    8     1  ttype  I
    MethodParameters:
       Name  Flags
      ttype  

  public int getTokenType(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String tokenName
         0: .line 2124
            aload 1 /* tokenName */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 39
            if_icmpne 3
         1: .line 2125
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.stringLiteralToTypeMap:Ljava/util/Map;
            aload 1 /* tokenName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 2 /* I */
        start local 2 // java.lang.Integer I
         2: .line 2126
            goto 4
        end local 2 // java.lang.Integer I
         3: .line 2128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.tokenIDToTypeMap:Ljava/util/Map;
            aload 1 /* tokenName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 2 /* I */
        start local 2 // java.lang.Integer I
         4: .line 2130
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 2 /* I */
            ifnull 5
            aload 2 /* I */
            invokevirtual java.lang.Integer.intValue:()I
            goto 6
      StackMap locals:
      StackMap stack:
         5: bipush -7
      StackMap locals:
      StackMap stack: int
         6: istore 3 /* i */
        start local 3 // int i
         7: .line 2132
            iload 3 /* i */
            ireturn
        end local 3 // int i
        end local 2 // java.lang.Integer I
        end local 1 // java.lang.String tokenName
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/antlr/tool/Grammar;
            0    8     1  tokenName  Ljava/lang/String;
            2    3     2          I  Ljava/lang/Integer;
            4    8     2          I  Ljava/lang/Integer;
            7    8     3          i  I
    MethodParameters:
           Name  Flags
      tokenName  

  public java.util.Set<java.lang.String> getTokenIDs();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2137
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.tokenIDToTypeMap:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public java.util.Collection<java.lang.Integer> getTokenTypesWithoutID();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2145
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* types */
        start local 1 // java.util.List types
         1: .line 2146
            iconst_4
            istore 2 /* t */
        start local 2 // int t
         2: goto 7
         3: .line 2147
      StackMap locals: java.util.List int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* t */
            invokevirtual org.antlr.tool.Grammar.getTokenDisplayName:(I)Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         4: .line 2148
            aload 3 /* name */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 39
            if_icmpne 6
         5: .line 2149
            aload 1 /* types */
            iload 2 /* t */
            invokestatic org.antlr.misc.Utils.integer:(I)Ljava/lang/Integer;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.String name
         6: .line 2146
      StackMap locals:
      StackMap stack:
            iinc 2 /* t */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* t */
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getMaxTokenType:()I
            if_icmple 3
        end local 2 // int t
         8: .line 2152
            aload 1 /* types */
            areturn
        end local 1 // java.util.List types
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/antlr/tool/Grammar;
            1    9     1  types  Ljava/util/List<Ljava/lang/Integer;>;
            2    8     2      t  I
            4    6     3   name  Ljava/lang/String;
    Signature: ()Ljava/util/Collection<Ljava/lang/Integer;>;

  public java.util.Set<java.lang.String> getTokenDisplayNames();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2159
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* names */
        start local 1 // java.util.Set names
         1: .line 2160
            iconst_4
            istore 2 /* t */
        start local 2 // int t
         2: goto 5
         3: .line 2161
      StackMap locals: java.util.Set int
      StackMap stack:
            aload 1 /* names */
            aload 0 /* this */
            iload 2 /* t */
            invokevirtual org.antlr.tool.Grammar.getTokenDisplayName:(I)Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 2160
            iinc 2 /* t */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* t */
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getMaxTokenType:()I
            if_icmple 3
        end local 2 // int t
         6: .line 2163
            aload 1 /* names */
            areturn
        end local 1 // java.util.Set names
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/antlr/tool/Grammar;
            1    7     1  names  Ljava/util/Set<Ljava/lang/String;>;
            2    6     2      t  I
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public static int getCharValueFromGrammarCharLiteral(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.lang.String literal
         0: .line 2174
            aload 0 /* literal */
            invokevirtual java.lang.String.length:()I
            tableswitch { // 3 - 8
                    3: 1
                    4: 2
                    5: 14
                    6: 14
                    7: 14
                    8: 12
              default: 14
          }
         1: .line 2177
      StackMap locals:
      StackMap stack:
            aload 0 /* literal */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            ireturn
         2: .line 2180
      StackMap locals:
      StackMap stack:
            aload 0 /* literal */
            iconst_2
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isDigit:(C)Z
            ifeq 7
         3: .line 2181
            bipush 100
         4: .line 2182
            new java.lang.StringBuilder
            dup
            ldc "invalid char literal: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* literal */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 2181
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Object;)V
         6: .line 2183
            iconst_m1
            ireturn
         7: .line 2185
      StackMap locals:
      StackMap stack:
            aload 0 /* literal */
            iconst_2
            invokevirtual java.lang.String.charAt:(I)C
            istore 1 /* escChar */
        start local 1 // int escChar
         8: .line 2186
            getstatic org.antlr.tool.Grammar.ANTLRLiteralEscapedCharValue:[I
            iload 1 /* escChar */
            iaload
            istore 2 /* charVal */
        start local 2 // int charVal
         9: .line 2187
            iload 2 /* charVal */
            ifne 11
        10: .line 2189
            iload 1 /* escChar */
            ireturn
        11: .line 2191
      StackMap locals: int int
      StackMap stack:
            iload 2 /* charVal */
            ireturn
        end local 2 // int charVal
        end local 1 // int escChar
        12: .line 2194
      StackMap locals:
      StackMap stack:
            aload 0 /* literal */
            iconst_3
            aload 0 /* literal */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* unicodeChars */
        start local 3 // java.lang.String unicodeChars
        13: .line 2195
            aload 3 /* unicodeChars */
            bipush 16
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;I)I
            ireturn
        end local 3 // java.lang.String unicodeChars
        14: .line 2197
      StackMap locals:
      StackMap stack:
            bipush 100
        15: .line 2198
            new java.lang.StringBuilder
            dup
            ldc "invalid char literal: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* literal */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 2197
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Object;)V
        17: .line 2199
            iconst_m1
            ireturn
        end local 0 // java.lang.String literal
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   18     0       literal  Ljava/lang/String;
            8   12     1       escChar  I
            9   12     2       charVal  I
           13   14     3  unicodeChars  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      literal  

  public static java.lang.StringBuffer getUnescapedStringFromGrammarStringLiteral(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/StringBuffer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // java.lang.String literal
         0: .line 2218
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuffer buf
         1: .line 2219
            aload 0 /* literal */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            istore 2 /* last */
        start local 2 // int last
         2: .line 2220
            iconst_1
            istore 3 /* i */
        start local 3 // int i
         3: goto 25
         4: .line 2221
      StackMap locals: java.lang.StringBuffer int int
      StackMap stack:
            aload 0 /* literal */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
         5: .line 2222
            iload 4 /* c */
            bipush 92
            if_icmpne 23
         6: .line 2223
            iinc 3 /* i */ 1
         7: .line 2224
            aload 0 /* literal */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
         8: .line 2225
            iload 4 /* c */
            invokestatic java.lang.Character.toUpperCase:(C)C
            bipush 85
            if_icmpne 15
         9: .line 2227
            iinc 3 /* i */ 1
        10: .line 2228
            aload 0 /* literal */
            iload 3 /* i */
            iload 3 /* i */
            iconst_4
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* unicodeChars */
        start local 5 // java.lang.String unicodeChars
        11: .line 2230
            aload 5 /* unicodeChars */
            bipush 16
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;I)I
            istore 6 /* val */
        start local 6 // int val
        12: .line 2231
            iinc 3 /* i */ 3
        13: .line 2232
            aload 1 /* buf */
            iload 6 /* val */
            i2c
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 6 // int val
        end local 5 // java.lang.String unicodeChars
        14: .line 2233
            goto 24
        15: .line 2234
      StackMap locals: int
      StackMap stack:
            iload 4 /* c */
            invokestatic java.lang.Character.isDigit:(C)Z
            ifeq 21
        16: .line 2235
            bipush 100
        17: .line 2236
            new java.lang.StringBuilder
            dup
            ldc "invalid char literal: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* literal */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 2235
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Object;)V
        19: .line 2237
            aload 1 /* buf */
            ldc "\\"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        20: .line 2238
            goto 24
        21: .line 2240
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            getstatic org.antlr.tool.Grammar.ANTLRLiteralEscapedCharValue:[I
            iload 4 /* c */
            iaload
            i2c
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        22: .line 2242
            goto 24
        23: .line 2244
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 4 // char c
        24: .line 2220
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 3 /* i */
            iload 2 /* last */
            if_icmplt 4
        end local 3 // int i
        26: .line 2248
            aload 1 /* buf */
            areturn
        end local 2 // int last
        end local 1 // java.lang.StringBuffer buf
        end local 0 // java.lang.String literal
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   27     0       literal  Ljava/lang/String;
            1   27     1           buf  Ljava/lang/StringBuffer;
            2   27     2          last  I
            3   26     3             i  I
            5   24     4             c  C
           11   14     5  unicodeChars  Ljava/lang/String;
           12   14     6           val  I
    MethodParameters:
         Name  Flags
      literal  

  public int importTokenVocabulary(org.antlr.tool.Grammar);
    descriptor: (Lorg/antlr/tool/Grammar;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.tool.Grammar importFromGr
         0: .line 2261
            aload 1 /* importFromGr */
            invokevirtual org.antlr.tool.Grammar.getTokenIDs:()Ljava/util/Set;
            astore 2 /* importedTokenIDs */
        start local 2 // java.util.Set importedTokenIDs
         1: .line 2262
            aload 2 /* importedTokenIDs */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: org.antlr.tool.Grammar org.antlr.tool.Grammar java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* tokenID */
        start local 3 // java.lang.String tokenID
         3: .line 2263
            aload 1 /* importFromGr */
            aload 3 /* tokenID */
            invokevirtual org.antlr.tool.Grammar.getTokenType:(Ljava/lang/String;)I
            istore 5 /* tokenType */
        start local 5 // int tokenType
         4: .line 2264
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.maxTokenType:I
            iload 5 /* tokenType */
            invokestatic java.lang.Math.max:(II)I
            putfield org.antlr.tool.CompositeGrammar.maxTokenType:I
         5: .line 2265
            iload 5 /* tokenType */
            iconst_4
            if_icmplt 7
         6: .line 2267
            aload 0 /* this */
            aload 3 /* tokenID */
            iload 5 /* tokenType */
            invokevirtual org.antlr.tool.Grammar.defineToken:(Ljava/lang/String;I)V
        end local 5 // int tokenType
        end local 3 // java.lang.String tokenID
         7: .line 2262
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         8: .line 2270
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.maxTokenType:I
            ireturn
        end local 2 // java.util.Set importedTokenIDs
        end local 1 // org.antlr.tool.Grammar importFromGr
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0              this  Lorg/antlr/tool/Grammar;
            0    9     1      importFromGr  Lorg/antlr/tool/Grammar;
            1    9     2  importedTokenIDs  Ljava/util/Set<Ljava/lang/String;>;
            3    7     3           tokenID  Ljava/lang/String;
            4    7     5         tokenType  I
    MethodParameters:
              Name  Flags
      importFromGr  

  public void importGrammar(org.antlr.tool.GrammarAST, java.lang.String);
    descriptor: (Lorg/antlr/tool/GrammarAST;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.tool.GrammarAST grammarNameAST
        start local 2 // java.lang.String label
         0: .line 2280
            aload 1 /* grammarNameAST */
            invokevirtual org.antlr.tool.GrammarAST.getText:()Ljava/lang/String;
            astore 3 /* grammarName */
        start local 3 // java.lang.String grammarName
         1: .line 2282
            new java.lang.StringBuilder
            dup
            aload 3 /* grammarName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".g"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* gname */
        start local 4 // java.lang.String gname
         2: .line 2283
            aconst_null
            astore 5 /* br */
        start local 5 // java.io.BufferedReader br
         3: .line 2285
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.tool:Lorg/antlr/Tool;
            aload 4 /* gname */
            invokevirtual org.antlr.Tool.getLibraryFile:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* fullName */
        start local 6 // java.lang.String fullName
         4: .line 2286
            new java.io.FileReader
            dup
            aload 6 /* fullName */
            invokespecial java.io.FileReader.<init>:(Ljava/lang/String;)V
            astore 7 /* fr */
        start local 7 // java.io.FileReader fr
         5: .line 2287
            new java.io.BufferedReader
            dup
            aload 7 /* fr */
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 5 /* br */
         6: .line 2289
            new org.antlr.tool.Grammar
            dup
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.tool:Lorg/antlr/Tool;
            aload 4 /* gname */
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            invokespecial org.antlr.tool.Grammar.<init>:(Lorg/antlr/Tool;Ljava/lang/String;Lorg/antlr/tool/CompositeGrammar;)V
            astore 8 /* delegateGrammar */
        start local 8 // org.antlr.tool.Grammar delegateGrammar
         7: .line 2290
            aload 8 /* delegateGrammar */
            aload 2 /* label */
            putfield org.antlr.tool.Grammar.label:Ljava/lang/String;
         8: .line 2292
            aload 0 /* this */
            aload 8 /* delegateGrammar */
            invokevirtual org.antlr.tool.Grammar.addDelegateGrammar:(Lorg/antlr/tool/Grammar;)V
         9: .line 2294
            aload 8 /* delegateGrammar */
            aload 5 /* br */
            invokevirtual org.antlr.tool.Grammar.parseAndBuildAST:(Ljava/io/Reader;)V
        10: .line 2295
            aload 8 /* delegateGrammar */
            invokevirtual org.antlr.tool.Grammar.addRulesForSyntacticPredicates:()V
        11: .line 2296
            aload 0 /* this */
            aload 8 /* delegateGrammar */
            invokevirtual org.antlr.tool.Grammar.validImport:(Lorg/antlr/tool/Grammar;)Z
            ifne 27
        12: .line 2297
            sipush 161
        13: .line 2298
            aload 0 /* this */
        14: .line 2299
            aload 1 /* grammarNameAST */
            getfield org.antlr.tool.GrammarAST.token:Lorg/antlr/runtime/Token;
        15: .line 2300
            aload 0 /* this */
        16: .line 2301
            aload 8 /* delegateGrammar */
        17: .line 2297
            invokestatic org.antlr.tool.ErrorManager.grammarError:(ILorg/antlr/tool/Grammar;Lorg/antlr/runtime/Token;Ljava/lang/Object;Ljava/lang/Object;)V
        18: .line 2334
            aload 5 /* br */
            ifnull 26
        19: .line 2336
            aload 5 /* br */
            invokevirtual java.io.BufferedReader.close:()V
        20: .line 2337
            goto 26
        21: .line 2338
      StackMap locals: org.antlr.tool.Grammar org.antlr.tool.GrammarAST java.lang.String java.lang.String java.lang.String java.io.BufferedReader java.lang.String java.io.FileReader org.antlr.tool.Grammar
      StackMap stack: java.io.IOException
            astore 10 /* ioe */
        start local 10 // java.io.IOException ioe
        22: .line 2339
            iconst_2
        23: .line 2340
            aload 4 /* gname */
        24: .line 2341
            aload 10 /* ioe */
        25: .line 2339
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Object;Ljava/lang/Throwable;)V
        end local 10 // java.io.IOException ioe
        26: .line 2302
      StackMap locals:
      StackMap stack:
            return
        27: .line 2304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.type:I
            iconst_4
            if_icmpne 45
        28: .line 2305
            aload 8 /* delegateGrammar */
            getfield org.antlr.tool.Grammar.name:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.name:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic org.antlr.tool.Grammar.grammarTypeToFileNameSuffix:[Ljava/lang/String;
            iconst_1
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 30
        29: .line 2306
            aload 8 /* delegateGrammar */
            getfield org.antlr.tool.Grammar.name:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.name:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic org.antlr.tool.Grammar.grammarTypeToFileNameSuffix:[Ljava/lang/String;
            iconst_2
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 45
        30: .line 2308
      StackMap locals:
      StackMap stack:
            sipush 163
        31: .line 2309
            aload 0 /* this */
        32: .line 2310
            aload 1 /* grammarNameAST */
            getfield org.antlr.tool.GrammarAST.token:Lorg/antlr/runtime/Token;
        33: .line 2311
            aload 0 /* this */
        34: .line 2312
            aload 8 /* delegateGrammar */
        35: .line 2308
            invokestatic org.antlr.tool.ErrorManager.grammarError:(ILorg/antlr/tool/Grammar;Lorg/antlr/runtime/Token;Ljava/lang/Object;Ljava/lang/Object;)V
        36: .line 2334
            aload 5 /* br */
            ifnull 44
        37: .line 2336
            aload 5 /* br */
            invokevirtual java.io.BufferedReader.close:()V
        38: .line 2337
            goto 44
        39: .line 2338
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 10 /* ioe */
        start local 10 // java.io.IOException ioe
        40: .line 2339
            iconst_2
        41: .line 2340
            aload 4 /* gname */
        42: .line 2341
            aload 10 /* ioe */
        43: .line 2339
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Object;Ljava/lang/Throwable;)V
        end local 10 // java.io.IOException ioe
        44: .line 2313
      StackMap locals:
      StackMap stack:
            return
        45: .line 2315
      StackMap locals:
      StackMap stack:
            aload 8 /* delegateGrammar */
            getfield org.antlr.tool.Grammar.grammarTree:Lorg/antlr/tool/GrammarAST;
            ifnull 73
        46: .line 2318
            aload 8 /* delegateGrammar */
            getfield org.antlr.tool.Grammar.type:I
            iconst_1
            if_icmpne 73
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.type:I
            iconst_4
            if_icmpne 73
        47: .line 2321
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.lexerGrammarST:Lorg/stringtemplate/v4/ST;
            ldc "imports"
            aload 3 /* grammarName */
            invokevirtual org.stringtemplate.v4.ST.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/stringtemplate/v4/ST;
            pop
        end local 8 // org.antlr.tool.Grammar delegateGrammar
        end local 7 // java.io.FileReader fr
        end local 6 // java.lang.String fullName
        48: .line 2327
            goto 73
        49: .line 2328
      StackMap locals: org.antlr.tool.Grammar org.antlr.tool.GrammarAST java.lang.String java.lang.String java.lang.String java.io.BufferedReader
      StackMap stack: java.io.IOException
            astore 6 /* ioe */
        start local 6 // java.io.IOException ioe
        50: .line 2329
            bipush 7
        51: .line 2330
            aload 4 /* gname */
        52: .line 2331
            aload 6 /* ioe */
        53: .line 2329
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Object;Ljava/lang/Throwable;)V
        end local 6 // java.io.IOException ioe
        54: .line 2334
            aload 5 /* br */
            ifnull 81
        55: .line 2336
            aload 5 /* br */
            invokevirtual java.io.BufferedReader.close:()V
        56: .line 2337
            goto 81
        57: .line 2338
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 10 /* ioe */
        start local 10 // java.io.IOException ioe
        58: .line 2339
            iconst_2
        59: .line 2340
            aload 4 /* gname */
        60: .line 2341
            aload 10 /* ioe */
        61: .line 2339
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Object;Ljava/lang/Throwable;)V
        end local 10 // java.io.IOException ioe
        62: goto 81
        63: .line 2333
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9
        64: .line 2334
            aload 5 /* br */
            ifnull 72
        65: .line 2336
            aload 5 /* br */
            invokevirtual java.io.BufferedReader.close:()V
        66: .line 2337
            goto 72
        67: .line 2338
      StackMap locals: org.antlr.tool.Grammar org.antlr.tool.GrammarAST java.lang.String java.lang.String java.lang.String java.io.BufferedReader top top top java.lang.Throwable
      StackMap stack: java.io.IOException
            astore 10 /* ioe */
        start local 10 // java.io.IOException ioe
        68: .line 2339
            iconst_2
        69: .line 2340
            aload 4 /* gname */
        70: .line 2341
            aload 10 /* ioe */
        71: .line 2339
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Object;Ljava/lang/Throwable;)V
        end local 10 // java.io.IOException ioe
        72: .line 2344
      StackMap locals:
      StackMap stack:
            aload 9
            athrow
        73: .line 2334
      StackMap locals: org.antlr.tool.Grammar org.antlr.tool.GrammarAST java.lang.String java.lang.String java.lang.String java.io.BufferedReader
      StackMap stack:
            aload 5 /* br */
            ifnull 81
        74: .line 2336
            aload 5 /* br */
            invokevirtual java.io.BufferedReader.close:()V
        75: .line 2337
            goto 81
        76: .line 2338
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 10 /* ioe */
        start local 10 // java.io.IOException ioe
        77: .line 2339
            iconst_2
        78: .line 2340
            aload 4 /* gname */
        79: .line 2341
            aload 10 /* ioe */
        80: .line 2339
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Object;Ljava/lang/Throwable;)V
        end local 10 // java.io.IOException ioe
        81: .line 2345
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.io.BufferedReader br
        end local 4 // java.lang.String gname
        end local 3 // java.lang.String grammarName
        end local 2 // java.lang.String label
        end local 1 // org.antlr.tool.GrammarAST grammarNameAST
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   82     0             this  Lorg/antlr/tool/Grammar;
            0   82     1   grammarNameAST  Lorg/antlr/tool/GrammarAST;
            0   82     2            label  Ljava/lang/String;
            1   82     3      grammarName  Ljava/lang/String;
            2   82     4            gname  Ljava/lang/String;
            3   82     5               br  Ljava/io/BufferedReader;
            4   48     6         fullName  Ljava/lang/String;
            5   48     7               fr  Ljava/io/FileReader;
            7   48     8  delegateGrammar  Lorg/antlr/tool/Grammar;
           50   54     6              ioe  Ljava/io/IOException;
           22   26    10              ioe  Ljava/io/IOException;
           40   44    10              ioe  Ljava/io/IOException;
           58   62    10              ioe  Ljava/io/IOException;
           68   72    10              ioe  Ljava/io/IOException;
           77   81    10              ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          19    20      21  Class java.io.IOException
          37    38      39  Class java.io.IOException
           3    18      49  Class java.io.IOException
          27    36      49  Class java.io.IOException
          45    48      49  Class java.io.IOException
          55    56      57  Class java.io.IOException
           3    18      63  any
          27    36      63  any
          45    54      63  any
          65    66      67  Class java.io.IOException
          74    75      76  Class java.io.IOException
    MethodParameters:
                Name  Flags
      grammarNameAST  
      label           

  protected void addDelegateGrammar(org.antlr.tool.Grammar);
    descriptor: (Lorg/antlr/tool/Grammar;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.tool.Grammar delegateGrammar
         0: .line 2349
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.delegateGrammarTreeRoot:Lorg/antlr/tool/CompositeGrammarTree;
            aload 0 /* this */
            invokevirtual org.antlr.tool.CompositeGrammarTree.findNode:(Lorg/antlr/tool/Grammar;)Lorg/antlr/tool/CompositeGrammarTree;
            astore 2 /* t */
        start local 2 // org.antlr.tool.CompositeGrammarTree t
         1: .line 2350
            aload 2 /* t */
            new org.antlr.tool.CompositeGrammarTree
            dup
            aload 1 /* delegateGrammar */
            invokespecial org.antlr.tool.CompositeGrammarTree.<init>:(Lorg/antlr/tool/Grammar;)V
            invokevirtual org.antlr.tool.CompositeGrammarTree.addChild:(Lorg/antlr/tool/CompositeGrammarTree;)V
         2: .line 2352
            aload 1 /* delegateGrammar */
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            putfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
         3: .line 2353
            return
        end local 2 // org.antlr.tool.CompositeGrammarTree t
        end local 1 // org.antlr.tool.Grammar delegateGrammar
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lorg/antlr/tool/Grammar;
            0    4     1  delegateGrammar  Lorg/antlr/tool/Grammar;
            1    4     2                t  Lorg/antlr/tool/CompositeGrammarTree;
    MethodParameters:
                 Name  Flags
      delegateGrammar  

  public int importTokenVocabulary(org.antlr.tool.GrammarAST, java.lang.String);
    descriptor: (Lorg/antlr/tool/GrammarAST;Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=11, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.tool.GrammarAST tokenVocabOptionAST
        start local 2 // java.lang.String vocabName
         0: .line 2359
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getGrammarIsRoot:()Z
            ifne 7
         1: .line 2360
            sipush 160
         2: .line 2361
            aload 0 /* this */
         3: .line 2362
            aload 1 /* tokenVocabOptionAST */
            getfield org.antlr.tool.GrammarAST.token:Lorg/antlr/runtime/Token;
         4: .line 2363
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.name:Ljava/lang/String;
         5: .line 2360
            invokestatic org.antlr.tool.ErrorManager.grammarWarning:(ILorg/antlr/tool/Grammar;Lorg/antlr/runtime/Token;Ljava/lang/Object;)V
         6: .line 2364
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.maxTokenType:I
            ireturn
         7: .line 2367
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.tool:Lorg/antlr/Tool;
            aload 2 /* vocabName */
            invokevirtual org.antlr.Tool.getImportedVocabFile:(Ljava/lang/String;)Ljava/io/File;
            astore 3 /* fullFile */
        start local 3 // java.io.File fullFile
         8: .line 2369
            new java.io.FileReader
            dup
            aload 3 /* fullFile */
            invokespecial java.io.FileReader.<init>:(Ljava/io/File;)V
            astore 4 /* fr */
        start local 4 // java.io.FileReader fr
         9: .line 2370
            new java.io.BufferedReader
            dup
            aload 4 /* fr */
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 5 /* br */
        start local 5 // java.io.BufferedReader br
        10: .line 2371
            new java.io.StreamTokenizer
            dup
            aload 5 /* br */
            invokespecial java.io.StreamTokenizer.<init>:(Ljava/io/Reader;)V
            astore 6 /* tokenizer */
        start local 6 // java.io.StreamTokenizer tokenizer
        11: .line 2372
            aload 6 /* tokenizer */
            invokevirtual java.io.StreamTokenizer.parseNumbers:()V
        12: .line 2373
            aload 6 /* tokenizer */
            bipush 95
            bipush 95
            invokevirtual java.io.StreamTokenizer.wordChars:(II)V
        13: .line 2374
            aload 6 /* tokenizer */
            iconst_1
            invokevirtual java.io.StreamTokenizer.eolIsSignificant:(Z)V
        14: .line 2375
            aload 6 /* tokenizer */
            iconst_1
            invokevirtual java.io.StreamTokenizer.slashSlashComments:(Z)V
        15: .line 2376
            aload 6 /* tokenizer */
            iconst_1
            invokevirtual java.io.StreamTokenizer.slashStarComments:(Z)V
        16: .line 2377
            aload 6 /* tokenizer */
            bipush 61
            invokevirtual java.io.StreamTokenizer.ordinaryChar:(I)V
        17: .line 2378
            aload 6 /* tokenizer */
            bipush 39
            invokevirtual java.io.StreamTokenizer.quoteChar:(I)V
        18: .line 2379
            aload 6 /* tokenizer */
            bipush 32
            bipush 32
            invokevirtual java.io.StreamTokenizer.whitespaceChars:(II)V
        19: .line 2380
            aload 6 /* tokenizer */
            bipush 9
            bipush 9
            invokevirtual java.io.StreamTokenizer.whitespaceChars:(II)V
        20: .line 2381
            iconst_1
            istore 7 /* lineNum */
        start local 7 // int lineNum
        21: .line 2382
            aload 6 /* tokenizer */
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            istore 8 /* token */
        start local 8 // int token
        22: .line 2383
            goto 68
        23: .line 2385
      StackMap locals: org.antlr.tool.Grammar org.antlr.tool.GrammarAST java.lang.String java.io.File java.io.FileReader java.io.BufferedReader java.io.StreamTokenizer int int
      StackMap stack:
            iload 8 /* token */
            bipush -3
            if_icmpne 26
        24: .line 2386
            aload 6 /* tokenizer */
            getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
            astore 9 /* tokenID */
        start local 9 // java.lang.String tokenID
        25: .line 2387
            goto 36
        end local 9 // java.lang.String tokenID
        26: .line 2388
      StackMap locals:
      StackMap stack:
            iload 8 /* token */
            bipush 39
            if_icmpne 29
        27: .line 2389
            new java.lang.StringBuilder
            dup
            ldc "'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* tokenizer */
            getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 9 /* tokenID */
        start local 9 // java.lang.String tokenID
        28: .line 2390
            goto 36
        end local 9 // java.lang.String tokenID
        29: .line 2392
      StackMap locals:
      StackMap stack:
            bipush 13
        30: .line 2393
            new java.lang.StringBuilder
            dup
            aload 2 /* vocabName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".tokens"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        31: .line 2394
            iload 7 /* lineNum */
            invokestatic org.antlr.misc.Utils.integer:(I)Ljava/lang/Integer;
        32: .line 2392
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Object;Ljava/lang/Object;)V
        33: .line 2395
      StackMap locals:
      StackMap stack:
            aload 6 /* tokenizer */
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            bipush 10
            if_icmpne 33
        34: .line 2396
            aload 6 /* tokenizer */
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            istore 8 /* token */
        35: .line 2397
            goto 68
        start local 9 // java.lang.String tokenID
        36: .line 2399
      StackMap locals: java.lang.String
      StackMap stack:
            aload 6 /* tokenizer */
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            istore 8 /* token */
        37: .line 2400
            iload 8 /* token */
            bipush 61
            if_icmpeq 45
        38: .line 2401
            bipush 13
        39: .line 2402
            new java.lang.StringBuilder
            dup
            aload 2 /* vocabName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".tokens"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        40: .line 2403
            iload 7 /* lineNum */
            invokestatic org.antlr.misc.Utils.integer:(I)Ljava/lang/Integer;
        41: .line 2401
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Object;Ljava/lang/Object;)V
        42: .line 2404
      StackMap locals:
      StackMap stack:
            aload 6 /* tokenizer */
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            bipush 10
            if_icmpne 42
        43: .line 2405
            aload 6 /* tokenizer */
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            istore 8 /* token */
        44: .line 2406
            goto 68
        45: .line 2408
      StackMap locals:
      StackMap stack:
            aload 6 /* tokenizer */
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            istore 8 /* token */
        46: .line 2409
            iload 8 /* token */
            bipush -2
            if_icmpeq 54
        47: .line 2410
            bipush 13
        48: .line 2411
            new java.lang.StringBuilder
            dup
            aload 2 /* vocabName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".tokens"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        49: .line 2412
            iload 7 /* lineNum */
            invokestatic org.antlr.misc.Utils.integer:(I)Ljava/lang/Integer;
        50: .line 2410
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Object;Ljava/lang/Object;)V
        51: .line 2413
      StackMap locals:
      StackMap stack:
            aload 6 /* tokenizer */
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            bipush 10
            if_icmpne 51
        52: .line 2414
            aload 6 /* tokenizer */
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            istore 8 /* token */
        53: .line 2415
            goto 68
        54: .line 2417
      StackMap locals:
      StackMap stack:
            aload 6 /* tokenizer */
            getfield java.io.StreamTokenizer.nval:D
            d2i
            istore 10 /* tokenType */
        start local 10 // int tokenType
        55: .line 2418
            aload 6 /* tokenizer */
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            istore 8 /* token */
        56: .line 2420
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.maxTokenType:I
            iload 10 /* tokenType */
            invokestatic java.lang.Math.max:(II)I
            putfield org.antlr.tool.CompositeGrammar.maxTokenType:I
        57: .line 2421
            aload 0 /* this */
            aload 9 /* tokenID */
            iload 10 /* tokenType */
            invokevirtual org.antlr.tool.Grammar.defineToken:(Ljava/lang/String;I)V
        58: .line 2422
            iinc 7 /* lineNum */ 1
        59: .line 2423
            iload 8 /* token */
            bipush 10
            if_icmpeq 67
        60: .line 2424
            bipush 13
        61: .line 2425
            new java.lang.StringBuilder
            dup
            aload 2 /* vocabName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".tokens"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        62: .line 2426
            iload 7 /* lineNum */
            invokestatic org.antlr.misc.Utils.integer:(I)Ljava/lang/Integer;
        63: .line 2424
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Object;Ljava/lang/Object;)V
        64: .line 2427
      StackMap locals: int
      StackMap stack:
            aload 6 /* tokenizer */
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            bipush 10
            if_icmpne 64
        65: .line 2428
            aload 6 /* tokenizer */
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            istore 8 /* token */
        66: .line 2429
            goto 68
        67: .line 2431
      StackMap locals:
      StackMap stack:
            aload 6 /* tokenizer */
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            istore 8 /* token */
        end local 10 // int tokenType
        end local 9 // java.lang.String tokenID
        68: .line 2383
      StackMap locals:
      StackMap stack:
            iload 8 /* token */
            iconst_m1
            if_icmpne 23
        69: .line 2433
            aload 5 /* br */
            invokevirtual java.io.BufferedReader.close:()V
        end local 8 // int token
        end local 7 // int lineNum
        end local 6 // java.io.StreamTokenizer tokenizer
        end local 5 // java.io.BufferedReader br
        end local 4 // java.io.FileReader fr
        70: .line 2434
            goto 86
        71: .line 2435
      StackMap locals: org.antlr.tool.Grammar org.antlr.tool.GrammarAST java.lang.String java.io.File
      StackMap stack: java.io.FileNotFoundException
            pop
        72: .line 2436
            iconst_3
        73: .line 2437
            aload 3 /* fullFile */
        74: .line 2436
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Object;)V
            goto 86
        75: .line 2439
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 4 /* ioe */
        start local 4 // java.io.IOException ioe
        76: .line 2440
            iconst_4
        77: .line 2441
            aload 3 /* fullFile */
        78: .line 2442
            aload 4 /* ioe */
        79: .line 2440
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Object;Ljava/lang/Throwable;)V
        end local 4 // java.io.IOException ioe
        80: goto 86
        81: .line 2444
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
        82: .line 2445
            iconst_4
        83: .line 2446
            aload 3 /* fullFile */
        84: .line 2447
            aload 4 /* e */
        85: .line 2445
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Object;Ljava/lang/Throwable;)V
        end local 4 // java.lang.Exception e
        86: .line 2449
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.maxTokenType:I
            ireturn
        end local 3 // java.io.File fullFile
        end local 2 // java.lang.String vocabName
        end local 1 // org.antlr.tool.GrammarAST tokenVocabOptionAST
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   87     0                 this  Lorg/antlr/tool/Grammar;
            0   87     1  tokenVocabOptionAST  Lorg/antlr/tool/GrammarAST;
            0   87     2            vocabName  Ljava/lang/String;
            8   87     3             fullFile  Ljava/io/File;
            9   70     4                   fr  Ljava/io/FileReader;
           10   70     5                   br  Ljava/io/BufferedReader;
           11   70     6            tokenizer  Ljava/io/StreamTokenizer;
           21   70     7              lineNum  I
           22   70     8                token  I
           25   26     9              tokenID  Ljava/lang/String;
           28   29     9              tokenID  Ljava/lang/String;
           36   68     9              tokenID  Ljava/lang/String;
           55   68    10            tokenType  I
           76   80     4                  ioe  Ljava/io/IOException;
           82   86     4                    e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           8    70      71  Class java.io.FileNotFoundException
           8    70      75  Class java.io.IOException
           8    70      81  Class java.lang.Exception
    MethodParameters:
                     Name  Flags
      tokenVocabOptionAST  
      vocabName            

  public java.lang.String getTokenDisplayName(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // int ttype
         0: .line 2460
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.type:I
            iconst_1
            if_icmpne 3
         1: .line 2461
            iload 1 /* ttype */
            iflt 3
            iload 1 /* ttype */
            ldc 65535
            if_icmpgt 3
         2: .line 2463
            iload 1 /* ttype */
            invokestatic org.antlr.tool.Grammar.getANTLRCharLiteralForChar:(I)Ljava/lang/String;
            areturn
         3: .line 2466
      StackMap locals:
      StackMap stack:
            iload 1 /* ttype */
            ifge 6
         4: .line 2467
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.typeToTokenList:Ljava/util/Vector;
            bipush 7
            iload 1 /* ttype */
            iadd
            invokevirtual java.util.Vector.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* tokenName */
        start local 2 // java.lang.String tokenName
         5: .line 2468
            goto 15
        end local 2 // java.lang.String tokenName
         6: .line 2471
      StackMap locals:
      StackMap stack:
            iload 1 /* ttype */
            iconst_1
            isub
            istore 3 /* index */
        start local 3 // int index
         7: .line 2472
            iinc 3 /* index */ 7
         8: .line 2474
            iload 3 /* index */
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.typeToTokenList:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmpge 14
         9: .line 2475
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.typeToTokenList:Ljava/util/Vector;
            iload 3 /* index */
            invokevirtual java.util.Vector.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* tokenName */
        start local 2 // java.lang.String tokenName
        10: .line 2476
            aload 2 /* tokenName */
            ifnull 15
        11: .line 2477
            aload 2 /* tokenName */
            ldc "T__"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 15
        12: .line 2479
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.typeToStringLiteralList:Ljava/util/Vector;
            iload 1 /* ttype */
            invokevirtual java.util.Vector.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* tokenName */
        13: .line 2481
            goto 15
        end local 2 // java.lang.String tokenName
        14: .line 2483
      StackMap locals: org.antlr.tool.Grammar int top int
      StackMap stack:
            iload 1 /* ttype */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            astore 2 /* tokenName */
        end local 3 // int index
        start local 2 // java.lang.String tokenName
        15: .line 2487
      StackMap locals: org.antlr.tool.Grammar int java.lang.String
      StackMap stack:
            aload 2 /* tokenName */
            areturn
        end local 2 // java.lang.String tokenName
        end local 1 // int ttype
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lorg/antlr/tool/Grammar;
            0   16     1      ttype  I
            5    6     2  tokenName  Ljava/lang/String;
           10   14     2  tokenName  Ljava/lang/String;
           15   16     2  tokenName  Ljava/lang/String;
            7   15     3      index  I
    MethodParameters:
       Name  Flags
      ttype  

  public java.util.Set<java.lang.String> getStringLiterals();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2492
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.stringLiteralToTypeMap:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public java.lang.String getGrammarTypeString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2496
            getstatic org.antlr.tool.Grammar.grammarTypeToString:[Ljava/lang/String;
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.type:I
            aaload
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;

  public int getGrammarMaxLookahead();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2500
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.global_k:I
            iflt 2
         1: .line 2501
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.global_k:I
            ireturn
         2: .line 2503
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "k"
            invokevirtual org.antlr.tool.Grammar.getOption:(Ljava/lang/String;)Ljava/lang/Object;
            astore 1 /* k */
        start local 1 // java.lang.Object k
         3: .line 2504
            aload 1 /* k */
            ifnonnull 6
         4: .line 2505
            aload 0 /* this */
            iconst_0
            putfield org.antlr.tool.Grammar.global_k:I
         5: .line 2506
            goto 12
         6: .line 2507
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* k */
            instanceof java.lang.Integer
            ifeq 10
         7: .line 2508
            aload 1 /* k */
            checkcast java.lang.Integer
            astore 2 /* kI */
        start local 2 // java.lang.Integer kI
         8: .line 2509
            aload 0 /* this */
            aload 2 /* kI */
            invokevirtual java.lang.Integer.intValue:()I
            putfield org.antlr.tool.Grammar.global_k:I
        end local 2 // java.lang.Integer kI
         9: .line 2510
            goto 12
        10: .line 2513
      StackMap locals:
      StackMap stack:
            aload 1 /* k */
            ldc "*"
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 2514
            aload 0 /* this */
            iconst_0
            putfield org.antlr.tool.Grammar.global_k:I
        12: .line 2517
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.global_k:I
            ireturn
        end local 1 // java.lang.Object k
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/antlr/tool/Grammar;
            3   13     1     k  Ljava/lang/Object;
            8    9     2    kI  Ljava/lang/Integer;

  public java.lang.String setOption(java.lang.String, java.lang.Object, org.antlr.runtime.Token);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;Lorg/antlr/runtime/Token;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String key
        start local 2 // java.lang.Object value
        start local 3 // org.antlr.runtime.Token optionsStartToken
         0: .line 2524
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.antlr.tool.Grammar.legalOption:(Ljava/lang/String;)Z
            ifeq 7
         1: .line 2525
            sipush 133
         2: .line 2526
            aload 0 /* this */
         3: .line 2527
            aload 3 /* optionsStartToken */
         4: .line 2528
            aload 1 /* key */
         5: .line 2525
            invokestatic org.antlr.tool.ErrorManager.grammarError:(ILorg/antlr/tool/Grammar;Lorg/antlr/runtime/Token;Ljava/lang/Object;)V
         6: .line 2529
            aconst_null
            areturn
         7: .line 2531
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* value */
            invokevirtual org.antlr.tool.Grammar.optionIsValid:(Ljava/lang/String;Ljava/lang/Object;)Z
            ifne 9
         8: .line 2532
            aconst_null
            areturn
         9: .line 2534
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            ldc "backtrack"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
            aload 2 /* value */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            ldc "true"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 2535
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            invokevirtual org.antlr.tool.CompositeGrammar.getRootGrammar:()Lorg/antlr/tool/Grammar;
            iconst_1
            putfield org.antlr.tool.Grammar.atLeastOneBacktrackOption:Z
        11: .line 2537
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.options:Ljava/util/Map;
            ifnonnull 13
        12: .line 2538
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.antlr.tool.Grammar.options:Ljava/util/Map;
        13: .line 2540
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.options:Ljava/util/Map;
            aload 1 /* key */
            aload 2 /* value */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 2541
            aload 1 /* key */
            areturn
        end local 3 // org.antlr.runtime.Token optionsStartToken
        end local 2 // java.lang.Object value
        end local 1 // java.lang.String key
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   15     0               this  Lorg/antlr/tool/Grammar;
            0   15     1                key  Ljava/lang/String;
            0   15     2              value  Ljava/lang/Object;
            0   15     3  optionsStartToken  Lorg/antlr/runtime/Token;
    MethodParameters:
                   Name  Flags
      key                
      value              
      optionsStartToken  

  public boolean legalOption(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String key
         0: .line 2545
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.type:I
            tableswitch { // 1 - 3
                    1: 1
                    2: 4
                    3: 7
              default: 10
          }
         1: .line 2547
      StackMap locals:
      StackMap stack:
            getstatic org.antlr.tool.Grammar.legalLexerOptions:Ljava/util/Set;
            aload 1 /* key */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 2
            iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: ireturn
         4: .line 2549
      StackMap locals:
      StackMap stack:
            getstatic org.antlr.tool.Grammar.legalParserOptions:Ljava/util/Set;
            aload 1 /* key */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 5
            iconst_0
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: ireturn
         7: .line 2551
      StackMap locals:
      StackMap stack:
            getstatic org.antlr.tool.Grammar.legalTreeParserOptions:Ljava/util/Set;
            aload 1 /* key */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 8
            iconst_0
            goto 9
      StackMap locals:
      StackMap stack:
         8: iconst_1
      StackMap locals:
      StackMap stack: int
         9: ireturn
        10: .line 2553
      StackMap locals:
      StackMap stack:
            getstatic org.antlr.tool.Grammar.legalParserOptions:Ljava/util/Set;
            aload 1 /* key */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 11
            iconst_0
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_1
      StackMap locals:
      StackMap stack: int
        12: ireturn
        end local 1 // java.lang.String key
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/antlr/tool/Grammar;
            0   13     1   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   

  public void setOptions(java.util.Map<java.lang.String, java.lang.Object>, org.antlr.runtime.Token);
    descriptor: (Ljava/util/Map;Lorg/antlr/runtime/Token;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.util.Map options
        start local 2 // org.antlr.runtime.Token optionsStartToken
         0: .line 2558
            aload 1 /* options */
            ifnonnull 3
         1: .line 2559
            aload 0 /* this */
            aconst_null
            putfield org.antlr.tool.Grammar.options:Ljava/util/Map;
         2: .line 2560
            return
         3: .line 2562
      StackMap locals:
      StackMap stack:
            aload 1 /* options */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            astore 3 /* keys */
        start local 3 // java.util.Set keys
         4: .line 2563
            aload 3 /* keys */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4 /* it */
        start local 4 // java.util.Iterator it
         5: goto 11
         6: .line 2564
      StackMap locals: java.util.Set java.util.Iterator
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* optionName */
        start local 5 // java.lang.String optionName
         7: .line 2565
            aload 1 /* options */
            aload 5 /* optionName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* optionValue */
        start local 6 // java.lang.Object optionValue
         8: .line 2566
            aload 0 /* this */
            aload 5 /* optionName */
            aload 6 /* optionValue */
            aload 2 /* optionsStartToken */
            invokevirtual org.antlr.tool.Grammar.setOption:(Ljava/lang/String;Ljava/lang/Object;Lorg/antlr/runtime/Token;)Ljava/lang/String;
            astore 7 /* stored */
        start local 7 // java.lang.String stored
         9: .line 2567
            aload 7 /* stored */
            ifnonnull 11
        10: .line 2568
            aload 4 /* it */
            invokeinterface java.util.Iterator.remove:()V
        end local 7 // java.lang.String stored
        end local 6 // java.lang.Object optionValue
        end local 5 // java.lang.String optionName
        11: .line 2563
      StackMap locals:
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 4 // java.util.Iterator it
        12: .line 2571
            return
        end local 3 // java.util.Set keys
        end local 2 // org.antlr.runtime.Token optionsStartToken
        end local 1 // java.util.Map options
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   13     0               this  Lorg/antlr/tool/Grammar;
            0   13     1            options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            0   13     2  optionsStartToken  Lorg/antlr/runtime/Token;
            4   13     3               keys  Ljava/util/Set<Ljava/lang/String;>;
            5   12     4                 it  Ljava/util/Iterator<Ljava/lang/String;>;
            7   11     5         optionName  Ljava/lang/String;
            8   11     6        optionValue  Ljava/lang/Object;
            9   11     7             stored  Ljava/lang/String;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;Lorg/antlr/runtime/Token;)V
    MethodParameters:
                   Name  Flags
      options            
      optionsStartToken  

  public java.lang.Object getOption(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String key
         0: .line 2574
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            aload 1 /* key */
            invokevirtual org.antlr.tool.CompositeGrammar.getOption:(Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.String key
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;
            0    1     1   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   

  public java.lang.Object getLocallyDefinedOption(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String key
         0: .line 2578
            aconst_null
            astore 2 /* value */
        start local 2 // java.lang.Object value
         1: .line 2579
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.options:Ljava/util/Map;
            ifnull 3
         2: .line 2580
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.options:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* value */
         3: .line 2582
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* value */
            ifnonnull 5
         4: .line 2583
            getstatic org.antlr.tool.Grammar.defaultOptions:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* value */
         5: .line 2585
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            areturn
        end local 2 // java.lang.Object value
        end local 1 // java.lang.String key
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/antlr/tool/Grammar;
            0    6     1    key  Ljava/lang/String;
            1    6     2  value  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   

  public java.lang.Object getBlockOption(org.antlr.tool.GrammarAST, java.lang.String);
    descriptor: (Lorg/antlr/tool/GrammarAST;Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.tool.GrammarAST blockAST
        start local 2 // java.lang.String key
         0: .line 2589
            aload 1 /* blockAST */
            aload 2 /* key */
            invokevirtual org.antlr.tool.GrammarAST.getBlockOption:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* v */
        start local 3 // java.lang.String v
         1: .line 2590
            aload 3 /* v */
            ifnull 3
         2: .line 2591
            aload 3 /* v */
            areturn
         3: .line 2593
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.type:I
            iconst_1
            if_icmpne 5
         4: .line 2594
            getstatic org.antlr.tool.Grammar.defaultLexerBlockOptions:Ljava/util/Map;
            aload 2 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         5: .line 2596
      StackMap locals:
      StackMap stack:
            getstatic org.antlr.tool.Grammar.defaultBlockOptions:Ljava/util/Map;
            aload 2 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 3 // java.lang.String v
        end local 2 // java.lang.String key
        end local 1 // org.antlr.tool.GrammarAST blockAST
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/antlr/tool/Grammar;
            0    6     1  blockAST  Lorg/antlr/tool/GrammarAST;
            0    6     2       key  Ljava/lang/String;
            1    6     3         v  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      blockAST  
      key       

  public int getUserMaxLookahead(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // int decision
         0: .line 2600
            iconst_0
            istore 2 /* user_k */
        start local 2 // int user_k
         1: .line 2601
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.nfa:Lorg/antlr/analysis/NFA;
            getfield org.antlr.analysis.NFA.grammar:Lorg/antlr/tool/Grammar;
            iload 1 /* decision */
            invokevirtual org.antlr.tool.Grammar.getDecisionBlockAST:(I)Lorg/antlr/tool/GrammarAST;
            astore 3 /* blockAST */
        start local 3 // org.antlr.tool.GrammarAST blockAST
         2: .line 2602
            aload 3 /* blockAST */
            ldc "k"
            invokevirtual org.antlr.tool.GrammarAST.getBlockOption:(Ljava/lang/String;)Ljava/lang/Object;
            astore 4 /* k */
        start local 4 // java.lang.Object k
         3: .line 2603
            aload 4 /* k */
            ifnonnull 6
         4: .line 2604
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.nfa:Lorg/antlr/analysis/NFA;
            getfield org.antlr.analysis.NFA.grammar:Lorg/antlr/tool/Grammar;
            invokevirtual org.antlr.tool.Grammar.getGrammarMaxLookahead:()I
            istore 2 /* user_k */
         5: .line 2605
            iload 2 /* user_k */
            ireturn
         6: .line 2607
      StackMap locals: int org.antlr.tool.GrammarAST java.lang.Object
      StackMap stack:
            aload 4 /* k */
            instanceof java.lang.Integer
            ifeq 10
         7: .line 2608
            aload 4 /* k */
            checkcast java.lang.Integer
            astore 5 /* kI */
        start local 5 // java.lang.Integer kI
         8: .line 2609
            aload 5 /* kI */
            invokevirtual java.lang.Integer.intValue:()I
            istore 2 /* user_k */
        end local 5 // java.lang.Integer kI
         9: .line 2610
            goto 12
        10: .line 2613
      StackMap locals:
      StackMap stack:
            aload 4 /* k */
            ldc "*"
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 2614
            iconst_0
            istore 2 /* user_k */
        12: .line 2617
      StackMap locals:
      StackMap stack:
            iload 2 /* user_k */
            ireturn
        end local 4 // java.lang.Object k
        end local 3 // org.antlr.tool.GrammarAST blockAST
        end local 2 // int user_k
        end local 1 // int decision
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lorg/antlr/tool/Grammar;
            0   13     1  decision  I
            1   13     2    user_k  I
            2   13     3  blockAST  Lorg/antlr/tool/GrammarAST;
            3   13     4         k  Ljava/lang/Object;
            8    9     5        kI  Ljava/lang/Integer;
    MethodParameters:
          Name  Flags
      decision  

  public boolean getAutoBacktrackMode(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // int decision
         0: .line 2621
            aload 0 /* this */
            iload 1 /* decision */
            invokevirtual org.antlr.tool.Grammar.getDecisionNFAStartState:(I)Lorg/antlr/analysis/NFAState;
            astore 2 /* decisionNFAStartState */
        start local 2 // org.antlr.analysis.NFAState decisionNFAStartState
         1: .line 2623
            aload 0 /* this */
            aload 2 /* decisionNFAStartState */
            getfield org.antlr.analysis.NFAState.associatedASTNode:Lorg/antlr/tool/GrammarAST;
            ldc "backtrack"
            invokevirtual org.antlr.tool.Grammar.getBlockOption:(Lorg/antlr/tool/GrammarAST;Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
         2: .line 2622
            astore 3 /* autoBacktrack */
        start local 3 // java.lang.String autoBacktrack
         3: .line 2625
            aload 3 /* autoBacktrack */
            ifnonnull 5
         4: .line 2626
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.nfa:Lorg/antlr/analysis/NFA;
            getfield org.antlr.analysis.NFA.grammar:Lorg/antlr/tool/Grammar;
            ldc "backtrack"
            invokevirtual org.antlr.tool.Grammar.getOption:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* autoBacktrack */
         5: .line 2628
      StackMap locals: org.antlr.analysis.NFAState java.lang.String
      StackMap stack:
            aload 3 /* autoBacktrack */
            ifnull 6
            aload 3 /* autoBacktrack */
            ldc "true"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
        end local 3 // java.lang.String autoBacktrack
        end local 2 // org.antlr.analysis.NFAState decisionNFAStartState
        end local 1 // int decision
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    7     0                   this  Lorg/antlr/tool/Grammar;
            0    7     1               decision  I
            1    7     2  decisionNFAStartState  Lorg/antlr/analysis/NFAState;
            3    7     3          autoBacktrack  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      decision  

  public boolean optionIsValid(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String key
        start local 2 // java.lang.Object value
         0: .line 2632
            iconst_1
            ireturn
        end local 2 // java.lang.Object value
        end local 1 // java.lang.String key
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/antlr/tool/Grammar;
            0    1     1    key  Ljava/lang/String;
            0    1     2  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      key    
      value  

  public boolean buildAST();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2636
            aload 0 /* this */
            ldc "output"
            invokevirtual org.antlr.tool.Grammar.getOption:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* outputType */
        start local 1 // java.lang.String outputType
         1: .line 2637
            aload 1 /* outputType */
            ifnull 3
         2: .line 2638
            aload 1 /* outputType */
            invokevirtual java.lang.String.toString:()Ljava/lang/String;
            ldc "AST"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
         3: .line 2640
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.String outputType
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/antlr/tool/Grammar;
            1    4     1  outputType  Ljava/lang/String;

  public boolean rewriteMode();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2644
            aload 0 /* this */
            ldc "rewrite"
            invokevirtual org.antlr.tool.Grammar.getOption:(Ljava/lang/String;)Ljava/lang/Object;
            astore 1 /* outputType */
        start local 1 // java.lang.Object outputType
         1: .line 2645
            aload 1 /* outputType */
            ifnull 3
         2: .line 2646
            aload 1 /* outputType */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            ldc "true"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
         3: .line 2648
      StackMap locals: java.lang.Object
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object outputType
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/antlr/tool/Grammar;
            1    4     1  outputType  Ljava/lang/Object;

  public boolean isBuiltFromString();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2652
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.builtFromString:Z
            ireturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;

  public boolean buildTemplate();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2656
            aload 0 /* this */
            ldc "output"
            invokevirtual org.antlr.tool.Grammar.getOption:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* outputType */
        start local 1 // java.lang.String outputType
         1: .line 2657
            aload 1 /* outputType */
            ifnull 3
         2: .line 2658
            aload 1 /* outputType */
            invokevirtual java.lang.String.toString:()Ljava/lang/String;
            ldc "template"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
         3: .line 2660
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.String outputType
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/antlr/tool/Grammar;
            1    4     1  outputType  Ljava/lang/String;

  public java.util.Collection<org.antlr.tool.Rule> getRules();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2664
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.nameToRuleMap:Ljava/util/LinkedHashMap;
            invokevirtual java.util.LinkedHashMap.values:()Ljava/util/Collection;
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;
    Signature: ()Ljava/util/Collection<Lorg/antlr/tool/Rule;>;

  public java.util.Set<? extends org.antlr.tool.Rule> getDelegatedRules();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2683
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            aload 0 /* this */
            invokevirtual org.antlr.tool.CompositeGrammar.getDelegatedRules:(Lorg/antlr/tool/Grammar;)Ljava/util/Set;
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;
    Signature: ()Ljava/util/Set<+Lorg/antlr/tool/Rule;>;

  public java.util.Set<? extends org.antlr.tool.Rule> getAllImportedRules();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2690
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            aload 0 /* this */
            invokevirtual org.antlr.tool.CompositeGrammar.getAllImportedRules:(Lorg/antlr/tool/Grammar;)Ljava/util/Set;
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;
    Signature: ()Ljava/util/Set<+Lorg/antlr/tool/Rule;>;

  public java.util.List<org.antlr.tool.Grammar> getDelegates();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2697
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            aload 0 /* this */
            invokevirtual org.antlr.tool.CompositeGrammar.getDelegates:(Lorg/antlr/tool/Grammar;)Ljava/util/List;
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;
    Signature: ()Ljava/util/List<Lorg/antlr/tool/Grammar;>;

  public boolean getHasDelegates();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2701
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getDelegates:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/antlr/tool/Grammar;

  public java.util.List<java.lang.String> getDelegateNames();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2706
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* names */
        start local 1 // java.util.List names
         1: .line 2707
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            aload 0 /* this */
            invokevirtual org.antlr.tool.CompositeGrammar.getDelegates:(Lorg/antlr/tool/Grammar;)Ljava/util/List;
            astore 2 /* delegates */
        start local 2 // java.util.List delegates
         2: .line 2708
            aload 2 /* delegates */
            ifnull 7
         3: .line 2709
            aload 2 /* delegates */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: org.antlr.tool.Grammar java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.antlr.tool.Grammar
            astore 3 /* g */
        start local 3 // org.antlr.tool.Grammar g
         5: .line 2710
            aload 1 /* names */
            aload 3 /* g */
            getfield org.antlr.tool.Grammar.name:Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // org.antlr.tool.Grammar g
         6: .line 2709
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 2713
      StackMap locals: org.antlr.tool.Grammar java.util.List java.util.List
      StackMap stack:
            aload 1 /* names */
            areturn
        end local 2 // java.util.List delegates
        end local 1 // java.util.List names
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/antlr/tool/Grammar;
            1    8     1      names  Ljava/util/List<Ljava/lang/String;>;
            2    8     2  delegates  Ljava/util/List<Lorg/antlr/tool/Grammar;>;
            5    6     3          g  Lorg/antlr/tool/Grammar;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public java.util.List<org.antlr.tool.Grammar> getDirectDelegates();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2717
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            aload 0 /* this */
            invokevirtual org.antlr.tool.CompositeGrammar.getDirectDelegates:(Lorg/antlr/tool/Grammar;)Ljava/util/List;
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;
    Signature: ()Ljava/util/List<Lorg/antlr/tool/Grammar;>;

  public java.util.List<org.antlr.tool.Grammar> getIndirectDelegates();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2722
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            aload 0 /* this */
            invokevirtual org.antlr.tool.CompositeGrammar.getIndirectDelegates:(Lorg/antlr/tool/Grammar;)Ljava/util/List;
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;
    Signature: ()Ljava/util/List<Lorg/antlr/tool/Grammar;>;

  public java.util.List<org.antlr.tool.Grammar> getDelegators();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2729
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            aload 0 /* this */
            invokevirtual org.antlr.tool.CompositeGrammar.getDelegators:(Lorg/antlr/tool/Grammar;)Ljava/util/List;
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;
    Signature: ()Ljava/util/List<Lorg/antlr/tool/Grammar;>;

  public org.antlr.tool.Grammar getDelegator();
    descriptor: ()Lorg/antlr/tool/Grammar;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2734
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            aload 0 /* this */
            invokevirtual org.antlr.tool.CompositeGrammar.getDelegator:(Lorg/antlr/tool/Grammar;)Lorg/antlr/tool/Grammar;
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;

  public java.util.Set<org.antlr.tool.Rule> getDelegatedRuleReferences();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2738
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.delegatedRuleReferences:Ljava/util/Set;
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;
    Signature: ()Ljava/util/Set<Lorg/antlr/tool/Rule;>;

  public boolean getGrammarIsRoot();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2742
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.delegateGrammarTreeRoot:Lorg/antlr/tool/CompositeGrammarTree;
            getfield org.antlr.tool.CompositeGrammarTree.grammar:Lorg/antlr/tool/Grammar;
            aload 0 /* this */
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/antlr/tool/Grammar;

  public void setRuleAST(java.lang.String, org.antlr.tool.GrammarAST);
    descriptor: (Ljava/lang/String;Lorg/antlr/tool/GrammarAST;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String ruleName
        start local 2 // org.antlr.tool.GrammarAST t
         0: .line 2746
            aload 0 /* this */
            aload 1 /* ruleName */
            invokevirtual org.antlr.tool.Grammar.getLocallyDefinedRule:(Ljava/lang/String;)Lorg/antlr/tool/Rule;
            astore 3 /* r */
        start local 3 // org.antlr.tool.Rule r
         1: .line 2747
            aload 3 /* r */
            ifnull 4
         2: .line 2748
            aload 3 /* r */
            aload 2 /* t */
            putfield org.antlr.tool.Rule.tree:Lorg/antlr/tool/GrammarAST;
         3: .line 2749
            aload 3 /* r */
            aload 2 /* t */
            invokevirtual org.antlr.tool.GrammarAST.getLastChild:()Lorg/antlr/tool/GrammarAST;
            putfield org.antlr.tool.Rule.EORNode:Lorg/antlr/tool/GrammarAST;
         4: .line 2751
      StackMap locals: org.antlr.tool.Rule
      StackMap stack:
            return
        end local 3 // org.antlr.tool.Rule r
        end local 2 // org.antlr.tool.GrammarAST t
        end local 1 // java.lang.String ruleName
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/antlr/tool/Grammar;
            0    5     1  ruleName  Ljava/lang/String;
            0    5     2         t  Lorg/antlr/tool/GrammarAST;
            1    5     3         r  Lorg/antlr/tool/Rule;
    MethodParameters:
          Name  Flags
      ruleName  
      t         

  public org.antlr.analysis.NFAState getRuleStartState(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/antlr/analysis/NFAState;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String ruleName
         0: .line 2754
            aload 0 /* this */
            aconst_null
            aload 1 /* ruleName */
            invokevirtual org.antlr.tool.Grammar.getRuleStartState:(Ljava/lang/String;Ljava/lang/String;)Lorg/antlr/analysis/NFAState;
            areturn
        end local 1 // java.lang.String ruleName
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/antlr/tool/Grammar;
            0    1     1  ruleName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      ruleName  

  public org.antlr.analysis.NFAState getRuleStartState(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/antlr/analysis/NFAState;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String scopeName
        start local 2 // java.lang.String ruleName
         0: .line 2758
            aload 0 /* this */
            aload 1 /* scopeName */
            aload 2 /* ruleName */
            invokevirtual org.antlr.tool.Grammar.getRule:(Ljava/lang/String;Ljava/lang/String;)Lorg/antlr/tool/Rule;
            astore 3 /* r */
        start local 3 // org.antlr.tool.Rule r
         1: .line 2759
            aload 3 /* r */
            ifnull 3
         2: .line 2761
            aload 3 /* r */
            getfield org.antlr.tool.Rule.startState:Lorg/antlr/analysis/NFAState;
            areturn
         3: .line 2764
      StackMap locals: org.antlr.tool.Rule
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.antlr.tool.Rule r
        end local 2 // java.lang.String ruleName
        end local 1 // java.lang.String scopeName
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/antlr/tool/Grammar;
            0    4     1  scopeName  Ljava/lang/String;
            0    4     2   ruleName  Ljava/lang/String;
            1    4     3          r  Lorg/antlr/tool/Rule;
    MethodParameters:
           Name  Flags
      scopeName  
      ruleName   

  public java.lang.String getRuleModifier(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String ruleName
         0: .line 2768
            aload 0 /* this */
            aload 1 /* ruleName */
            invokevirtual org.antlr.tool.Grammar.getRule:(Ljava/lang/String;)Lorg/antlr/tool/Rule;
            astore 2 /* r */
        start local 2 // org.antlr.tool.Rule r
         1: .line 2769
            aload 2 /* r */
            ifnull 3
         2: .line 2770
            aload 2 /* r */
            getfield org.antlr.tool.Rule.modifier:Ljava/lang/String;
            areturn
         3: .line 2772
      StackMap locals: org.antlr.tool.Rule
      StackMap stack:
            aconst_null
            areturn
        end local 2 // org.antlr.tool.Rule r
        end local 1 // java.lang.String ruleName
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/antlr/tool/Grammar;
            0    4     1  ruleName  Ljava/lang/String;
            1    4     2         r  Lorg/antlr/tool/Rule;
    MethodParameters:
          Name  Flags
      ruleName  

  public org.antlr.analysis.NFAState getRuleStopState(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/antlr/analysis/NFAState;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.lang.String ruleName
         0: .line 2776
            aload 0 /* this */
            aload 1 /* ruleName */
            invokevirtual org.antlr.tool.Grammar.getRule:(Ljava/lang/String;)Lorg/antlr/tool/Rule;
            astore 2 /* r */
        start local 2 // org.antlr.tool.Rule r
         1: .line 2777
            aload 2 /* r */
            ifnull 3
         2: .line 2778
            aload 2 /* r */
            getfield org.antlr.tool.Rule.stopState:Lorg/antlr/analysis/NFAState;
            areturn
         3: .line 2780
      StackMap locals: org.antlr.tool.Rule
      StackMap stack:
            aconst_null
            areturn
        end local 2 // org.antlr.tool.Rule r
        end local 1 // java.lang.String ruleName
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/antlr/tool/Grammar;
            0    4     1  ruleName  Ljava/lang/String;
            1    4     2         r  Lorg/antlr/tool/Rule;
    MethodParameters:
          Name  Flags
      ruleName  

  public int assignDecisionNumber(org.antlr.analysis.NFAState);
    descriptor: (Lorg/antlr/analysis/NFAState;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.analysis.NFAState state
         0: .line 2784
            aload 0 /* this */
            dup
            getfield org.antlr.tool.Grammar.decisionCount:I
            iconst_1
            iadd
            putfield org.antlr.tool.Grammar.decisionCount:I
         1: .line 2785
            aload 1 /* state */
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.decisionCount:I
            invokevirtual org.antlr.analysis.NFAState.setDecisionNumber:(I)V
         2: .line 2786
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.decisionCount:I
            ireturn
        end local 1 // org.antlr.analysis.NFAState state
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/antlr/tool/Grammar;
            0    3     1  state  Lorg/antlr/analysis/NFAState;
    MethodParameters:
       Name  Flags
      state  

  protected org.antlr.tool.Grammar$Decision getDecision(int);
    descriptor: (I)Lorg/antlr/tool/Grammar$Decision;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // int decision
         0: .line 2790
            iload 1 /* decision */
            iconst_1
            isub
            istore 2 /* index */
        start local 2 // int index
         1: .line 2791
            iload 2 /* index */
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.indexToDecision:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 3
         2: .line 2792
            aconst_null
            areturn
         3: .line 2794
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.indexToDecision:Ljava/util/Vector;
            iload 2 /* index */
            invokevirtual java.util.Vector.get:(I)Ljava/lang/Object;
            checkcast org.antlr.tool.Grammar$Decision
            astore 3 /* d */
        start local 3 // org.antlr.tool.Grammar$Decision d
         4: .line 2795
            aload 3 /* d */
            areturn
        end local 3 // org.antlr.tool.Grammar$Decision d
        end local 2 // int index
        end local 1 // int decision
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/antlr/tool/Grammar;
            0    5     1  decision  I
            1    5     2     index  I
            4    5     3         d  Lorg/antlr/tool/Grammar$Decision;
    MethodParameters:
          Name  Flags
      decision  

  public java.util.List<org.antlr.tool.Grammar$Decision> getDecisions();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2799
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.indexToDecision:Ljava/util/Vector;
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;
    Signature: ()Ljava/util/List<Lorg/antlr/tool/Grammar$Decision;>;

  protected org.antlr.tool.Grammar$Decision createDecision(int);
    descriptor: (I)Lorg/antlr/tool/Grammar$Decision;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // int decision
         0: .line 2803
            iload 1 /* decision */
            iconst_1
            isub
            istore 2 /* index */
        start local 2 // int index
         1: .line 2804
            iload 2 /* index */
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.indexToDecision:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmpge 3
         2: .line 2805
            aload 0 /* this */
            iload 1 /* decision */
            invokevirtual org.antlr.tool.Grammar.getDecision:(I)Lorg/antlr/tool/Grammar$Decision;
            areturn
         3: .line 2807
      StackMap locals: int
      StackMap stack:
            new org.antlr.tool.Grammar$Decision
            dup
            invokespecial org.antlr.tool.Grammar$Decision.<init>:()V
            astore 3 /* d */
        start local 3 // org.antlr.tool.Grammar$Decision d
         4: .line 2808
            aload 3 /* d */
            iload 1 /* decision */
            putfield org.antlr.tool.Grammar$Decision.decision:I
         5: .line 2809
            aload 3 /* d */
            aload 0 /* this */
            putfield org.antlr.tool.Grammar$Decision.grammar:Lorg/antlr/tool/Grammar;
         6: .line 2810
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.indexToDecision:Ljava/util/Vector;
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getNumberOfDecisions:()I
            invokevirtual java.util.Vector.setSize:(I)V
         7: .line 2811
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.indexToDecision:Ljava/util/Vector;
            iload 2 /* index */
            aload 3 /* d */
            invokevirtual java.util.Vector.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 2812
            aload 3 /* d */
            areturn
        end local 3 // org.antlr.tool.Grammar$Decision d
        end local 2 // int index
        end local 1 // int decision
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/antlr/tool/Grammar;
            0    9     1  decision  I
            1    9     2     index  I
            4    9     3         d  Lorg/antlr/tool/Grammar$Decision;
    MethodParameters:
          Name  Flags
      decision  

  public java.util.List<org.antlr.analysis.NFAState> getDecisionNFAStartStateList();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2816
            new java.util.ArrayList
            dup
            bipush 100
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 1 /* states */
        start local 1 // java.util.List states
         1: .line 2817
            iconst_0
            istore 2 /* d */
        start local 2 // int d
         2: goto 6
         3: .line 2818
      StackMap locals: java.util.List int
      StackMap stack:
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.indexToDecision:Ljava/util/Vector;
            iload 2 /* d */
            invokevirtual java.util.Vector.get:(I)Ljava/lang/Object;
            checkcast org.antlr.tool.Grammar$Decision
            astore 3 /* dec */
        start local 3 // org.antlr.tool.Grammar$Decision dec
         4: .line 2819
            aload 1 /* states */
            aload 3 /* dec */
            getfield org.antlr.tool.Grammar$Decision.startState:Lorg/antlr/analysis/NFAState;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // org.antlr.tool.Grammar$Decision dec
         5: .line 2817
            iinc 2 /* d */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* d */
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.indexToDecision:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            if_icmplt 3
        end local 2 // int d
         7: .line 2821
            aload 1 /* states */
            areturn
        end local 1 // java.util.List states
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/antlr/tool/Grammar;
            1    8     1  states  Ljava/util/List<Lorg/antlr/analysis/NFAState;>;
            2    7     2       d  I
            4    5     3     dec  Lorg/antlr/tool/Grammar$Decision;
    Signature: ()Ljava/util/List<Lorg/antlr/analysis/NFAState;>;

  public org.antlr.analysis.NFAState getDecisionNFAStartState(int);
    descriptor: (I)Lorg/antlr/analysis/NFAState;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // int decision
         0: .line 2825
            aload 0 /* this */
            iload 1 /* decision */
            invokevirtual org.antlr.tool.Grammar.getDecision:(I)Lorg/antlr/tool/Grammar$Decision;
            astore 2 /* d */
        start local 2 // org.antlr.tool.Grammar$Decision d
         1: .line 2826
            aload 2 /* d */
            ifnonnull 3
         2: .line 2827
            aconst_null
            areturn
         3: .line 2829
      StackMap locals: org.antlr.tool.Grammar$Decision
      StackMap stack:
            aload 2 /* d */
            getfield org.antlr.tool.Grammar$Decision.startState:Lorg/antlr/analysis/NFAState;
            areturn
        end local 2 // org.antlr.tool.Grammar$Decision d
        end local 1 // int decision
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/antlr/tool/Grammar;
            0    4     1  decision  I
            1    4     2         d  Lorg/antlr/tool/Grammar$Decision;
    MethodParameters:
          Name  Flags
      decision  

  public org.antlr.analysis.DFA getLookaheadDFA(int);
    descriptor: (I)Lorg/antlr/analysis/DFA;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // int decision
         0: .line 2833
            aload 0 /* this */
            iload 1 /* decision */
            invokevirtual org.antlr.tool.Grammar.getDecision:(I)Lorg/antlr/tool/Grammar$Decision;
            astore 2 /* d */
        start local 2 // org.antlr.tool.Grammar$Decision d
         1: .line 2834
            aload 2 /* d */
            ifnonnull 3
         2: .line 2835
            aconst_null
            areturn
         3: .line 2837
      StackMap locals: org.antlr.tool.Grammar$Decision
      StackMap stack:
            aload 2 /* d */
            getfield org.antlr.tool.Grammar$Decision.dfa:Lorg/antlr/analysis/DFA;
            areturn
        end local 2 // org.antlr.tool.Grammar$Decision d
        end local 1 // int decision
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/antlr/tool/Grammar;
            0    4     1  decision  I
            1    4     2         d  Lorg/antlr/tool/Grammar$Decision;
    MethodParameters:
          Name  Flags
      decision  

  public org.antlr.tool.GrammarAST getDecisionBlockAST(int);
    descriptor: (I)Lorg/antlr/tool/GrammarAST;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // int decision
         0: .line 2841
            aload 0 /* this */
            iload 1 /* decision */
            invokevirtual org.antlr.tool.Grammar.getDecision:(I)Lorg/antlr/tool/Grammar$Decision;
            astore 2 /* d */
        start local 2 // org.antlr.tool.Grammar$Decision d
         1: .line 2842
            aload 2 /* d */
            ifnonnull 3
         2: .line 2843
            aconst_null
            areturn
         3: .line 2845
      StackMap locals: org.antlr.tool.Grammar$Decision
      StackMap stack:
            aload 2 /* d */
            getfield org.antlr.tool.Grammar$Decision.blockAST:Lorg/antlr/tool/GrammarAST;
            areturn
        end local 2 // org.antlr.tool.Grammar$Decision d
        end local 1 // int decision
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/antlr/tool/Grammar;
            0    4     1  decision  I
            1    4     2         d  Lorg/antlr/tool/Grammar$Decision;
    MethodParameters:
          Name  Flags
      decision  

  public java.util.List<java.lang.Integer> getLookaheadDFAColumnsForLineInFile(int);
    descriptor: (I)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // int line
         0: .line 2858
            new java.lang.StringBuilder
            dup
            iload 1 /* line */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* prefix */
        start local 2 // java.lang.String prefix
         1: .line 2859
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* columns */
        start local 3 // java.util.List columns
         2: .line 2860
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.lineColumnToLookaheadDFAMap:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 6
      StackMap locals: org.antlr.tool.Grammar int java.lang.String java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* key */
        start local 4 // java.lang.String key
         4: .line 2861
            aload 4 /* key */
            aload 2 /* prefix */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 2862
            aload 3 /* columns */
            aload 4 /* key */
            aload 2 /* prefix */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String key
         6: .line 2860
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 2865
            aload 3 /* columns */
            areturn
        end local 3 // java.util.List columns
        end local 2 // java.lang.String prefix
        end local 1 // int line
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/antlr/tool/Grammar;
            0    8     1     line  I
            1    8     2   prefix  Ljava/lang/String;
            2    8     3  columns  Ljava/util/List<Ljava/lang/Integer;>;
            4    6     4      key  Ljava/lang/String;
    Signature: (I)Ljava/util/List<Ljava/lang/Integer;>;
    MethodParameters:
      Name  Flags
      line  

  public org.antlr.analysis.DFA getLookaheadDFAFromPositionInFile(int, int);
    descriptor: (II)Lorg/antlr/analysis/DFA;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // int line
        start local 2 // int col
         0: .line 2870
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.lineColumnToLookaheadDFAMap:Ljava/util/Map;
         1: .line 2871
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            iload 1 /* line */
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            ldc ":"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            iload 2 /* col */
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
         2: .line 2870
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.antlr.analysis.DFA
            areturn
        end local 2 // int col
        end local 1 // int line
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/antlr/tool/Grammar;
            0    3     1  line  I
            0    3     2   col  I
    MethodParameters:
      Name  Flags
      line  
      col   

  public java.util.Map<java.lang.String, org.antlr.analysis.DFA> getLineColumnToLookaheadDFAMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2875
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.lineColumnToLookaheadDFAMap:Ljava/util/Map;
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/antlr/analysis/DFA;>;

  public int getNumberOfDecisions();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2904
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.decisionCount:I
            ireturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;

  public int getNumberOfCyclicDecisions();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2908
            iconst_0
            istore 1 /* n */
        start local 1 // int n
         1: .line 2909
            iconst_1
            istore 2 /* i */
        start local 2 // int i
         2: goto 7
         3: .line 2910
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual org.antlr.tool.Grammar.getDecision:(I)Lorg/antlr/tool/Grammar$Decision;
            astore 3 /* d */
        start local 3 // org.antlr.tool.Grammar$Decision d
         4: .line 2911
            aload 3 /* d */
            getfield org.antlr.tool.Grammar$Decision.dfa:Lorg/antlr/analysis/DFA;
            ifnull 6
            aload 3 /* d */
            getfield org.antlr.tool.Grammar$Decision.dfa:Lorg/antlr/analysis/DFA;
            invokevirtual org.antlr.analysis.DFA.isCyclic:()Z
            ifeq 6
         5: .line 2912
            iinc 1 /* n */ 1
        end local 3 // org.antlr.tool.Grammar$Decision d
         6: .line 2909
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getNumberOfDecisions:()I
            if_icmple 3
        end local 2 // int i
         8: .line 2915
            iload 1 /* n */
            ireturn
        end local 1 // int n
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/antlr/tool/Grammar;
            1    9     1     n  I
            2    8     2     i  I
            4    6     3     d  Lorg/antlr/tool/Grammar$Decision;

  public void setLookaheadDFA(int, org.antlr.analysis.DFA);
    descriptor: (ILorg/antlr/analysis/DFA;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // int decision
        start local 2 // org.antlr.analysis.DFA lookaheadDFA
         0: .line 2929
            aload 0 /* this */
            iload 1 /* decision */
            invokevirtual org.antlr.tool.Grammar.createDecision:(I)Lorg/antlr/tool/Grammar$Decision;
            astore 3 /* d */
        start local 3 // org.antlr.tool.Grammar$Decision d
         1: .line 2930
            aload 3 /* d */
            aload 2 /* lookaheadDFA */
            putfield org.antlr.tool.Grammar$Decision.dfa:Lorg/antlr/analysis/DFA;
         2: .line 2931
            aload 3 /* d */
            getfield org.antlr.tool.Grammar$Decision.startState:Lorg/antlr/analysis/NFAState;
            getfield org.antlr.analysis.NFAState.associatedASTNode:Lorg/antlr/tool/GrammarAST;
            astore 4 /* ast */
        start local 4 // org.antlr.tool.GrammarAST ast
         3: .line 2932
            aload 4 /* ast */
            aload 2 /* lookaheadDFA */
            invokevirtual org.antlr.tool.GrammarAST.setLookaheadDFA:(Lorg/antlr/analysis/DFA;)V
         4: .line 2933
            return
        end local 4 // org.antlr.tool.GrammarAST ast
        end local 3 // org.antlr.tool.Grammar$Decision d
        end local 2 // org.antlr.analysis.DFA lookaheadDFA
        end local 1 // int decision
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/antlr/tool/Grammar;
            0    5     1      decision  I
            0    5     2  lookaheadDFA  Lorg/antlr/analysis/DFA;
            1    5     3             d  Lorg/antlr/tool/Grammar$Decision;
            3    5     4           ast  Lorg/antlr/tool/GrammarAST;
    MethodParameters:
              Name  Flags
      decision      
      lookaheadDFA  

  public void setDecisionNFA(int, org.antlr.analysis.NFAState);
    descriptor: (ILorg/antlr/analysis/NFAState;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // int decision
        start local 2 // org.antlr.analysis.NFAState state
         0: .line 2936
            aload 0 /* this */
            iload 1 /* decision */
            invokevirtual org.antlr.tool.Grammar.createDecision:(I)Lorg/antlr/tool/Grammar$Decision;
            astore 3 /* d */
        start local 3 // org.antlr.tool.Grammar$Decision d
         1: .line 2937
            aload 3 /* d */
            aload 2 /* state */
            putfield org.antlr.tool.Grammar$Decision.startState:Lorg/antlr/analysis/NFAState;
         2: .line 2938
            return
        end local 3 // org.antlr.tool.Grammar$Decision d
        end local 2 // org.antlr.analysis.NFAState state
        end local 1 // int decision
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/antlr/tool/Grammar;
            0    3     1  decision  I
            0    3     2     state  Lorg/antlr/analysis/NFAState;
            1    3     3         d  Lorg/antlr/tool/Grammar$Decision;
    MethodParameters:
          Name  Flags
      decision  
      state     

  public void setDecisionBlockAST(int, org.antlr.tool.GrammarAST);
    descriptor: (ILorg/antlr/tool/GrammarAST;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // int decision
        start local 2 // org.antlr.tool.GrammarAST blockAST
         0: .line 2942
            aload 0 /* this */
            iload 1 /* decision */
            invokevirtual org.antlr.tool.Grammar.createDecision:(I)Lorg/antlr/tool/Grammar$Decision;
            astore 3 /* d */
        start local 3 // org.antlr.tool.Grammar$Decision d
         1: .line 2943
            aload 3 /* d */
            aload 2 /* blockAST */
            putfield org.antlr.tool.Grammar$Decision.blockAST:Lorg/antlr/tool/GrammarAST;
         2: .line 2944
            return
        end local 3 // org.antlr.tool.Grammar$Decision d
        end local 2 // org.antlr.tool.GrammarAST blockAST
        end local 1 // int decision
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/antlr/tool/Grammar;
            0    3     1  decision  I
            0    3     2  blockAST  Lorg/antlr/tool/GrammarAST;
            1    3     3         d  Lorg/antlr/tool/Grammar$Decision;
    MethodParameters:
          Name  Flags
      decision  
      blockAST  

  public boolean allDecisionDFAHaveBeenCreated();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2947
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.allDecisionDFACreated:Z
            ireturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;

  public int getMaxTokenType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2952
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.composite:Lorg/antlr/tool/CompositeGrammar;
            getfield org.antlr.tool.CompositeGrammar.maxTokenType:I
            ireturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;

  public int getMaxCharValue();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2959
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.generator:Lorg/antlr/codegen/CodeGenerator;
            ifnull 2
         1: .line 2960
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.generator:Lorg/antlr/codegen/CodeGenerator;
            getfield org.antlr.codegen.CodeGenerator.target:Lorg/antlr/codegen/Target;
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.generator:Lorg/antlr/codegen/CodeGenerator;
            invokevirtual org.antlr.codegen.Target.getMaxCharValue:(Lorg/antlr/codegen/CodeGenerator;)I
            ireturn
         2: .line 2963
      StackMap locals:
      StackMap stack:
            ldc 65535
            ireturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/antlr/tool/Grammar;

  public org.antlr.misc.IntSet getTokenTypes();
    descriptor: ()Lorg/antlr/misc/IntSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2969
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.type:I
            iconst_1
            if_icmpne 2
         1: .line 2970
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getAllCharValues:()Lorg/antlr/misc/IntSet;
            areturn
         2: .line 2972
      StackMap locals:
      StackMap stack:
            iconst_4
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getMaxTokenType:()I
            invokestatic org.antlr.misc.IntervalSet.of:(II)Lorg/antlr/misc/IntervalSet;
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/antlr/tool/Grammar;

  public org.antlr.misc.IntSet getAllCharValues();
    descriptor: ()Lorg/antlr/misc/IntSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 2979
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.charVocabulary:Lorg/antlr/misc/IntSet;
            ifnull 2
         1: .line 2980
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.charVocabulary:Lorg/antlr/misc/IntSet;
            areturn
         2: .line 2982
      StackMap locals:
      StackMap stack:
            iconst_0
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getMaxCharValue:()I
            invokestatic org.antlr.misc.IntervalSet.of:(II)Lorg/antlr/misc/IntervalSet;
            astore 1 /* allChar */
        start local 1 // org.antlr.misc.IntSet allChar
         3: .line 2983
            aload 1 /* allChar */
            areturn
        end local 1 // org.antlr.misc.IntSet allChar
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/antlr/tool/Grammar;
            3    4     1  allChar  Lorg/antlr/misc/IntSet;

  public static java.lang.String getANTLRCharLiteralForChar(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // int c
         0: .line 2996
            iload 0 /* c */
            ifge 3
         1: .line 2997
            new java.lang.StringBuilder
            dup
            ldc "invalid char value "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* c */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.antlr.tool.ErrorManager.internalError:(Ljava/lang/Object;)V
         2: .line 2998
            ldc "'<INVALID>'"
            areturn
         3: .line 3000
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            getstatic org.antlr.tool.Grammar.ANTLRLiteralCharValueEscape:[Ljava/lang/String;
            arraylength
            if_icmpge 5
            getstatic org.antlr.tool.Grammar.ANTLRLiteralCharValueEscape:[Ljava/lang/String;
            iload 0 /* c */
            aaload
            ifnull 5
         4: .line 3001
            new java.lang.StringBuilder
            dup
            bipush 39
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic org.antlr.tool.Grammar.ANTLRLiteralCharValueEscape:[Ljava/lang/String;
            iload 0 /* c */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         5: .line 3003
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            i2c
            invokestatic java.lang.Character$UnicodeBlock.of:(C)Ljava/lang/Character$UnicodeBlock;
            getstatic java.lang.Character$UnicodeBlock.BASIC_LATIN:Ljava/lang/Character$UnicodeBlock;
            if_acmpne 12
         6: .line 3004
            iload 0 /* c */
            i2c
            invokestatic java.lang.Character.isISOControl:(C)Z
            ifne 12
         7: .line 3005
            iload 0 /* c */
            bipush 92
            if_icmpne 9
         8: .line 3006
            ldc "'\\\\'"
            areturn
         9: .line 3008
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            bipush 39
            if_icmpne 11
        10: .line 3009
            ldc "'\\''"
            areturn
        11: .line 3011
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            bipush 39
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* c */
            i2c
            invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        12: .line 3015
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            ldc 65536
            ior
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
            iconst_1
            iconst_5
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* hex */
        start local 1 // java.lang.String hex
        13: .line 3016
            new java.lang.StringBuilder
            dup
            ldc "'\\u"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* hex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* unicodeStr */
        start local 2 // java.lang.String unicodeStr
        14: .line 3017
            aload 2 /* unicodeStr */
            areturn
        end local 2 // java.lang.String unicodeStr
        end local 1 // java.lang.String hex
        end local 0 // int c
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0           c  I
           13   15     1         hex  Ljava/lang/String;
           14   15     2  unicodeStr  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      c     

  public org.antlr.misc.IntSet complement(org.antlr.misc.IntSet);
    descriptor: (Lorg/antlr/misc/IntSet;)Lorg/antlr/misc/IntSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.misc.IntSet set
         0: .line 3027
            aload 1 /* set */
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getTokenTypes:()Lorg/antlr/misc/IntSet;
            invokeinterface org.antlr.misc.IntSet.complement:(Lorg/antlr/misc/IntSet;)Lorg/antlr/misc/IntSet;
            astore 2 /* c */
        start local 2 // org.antlr.misc.IntSet c
         1: .line 3029
            aload 2 /* c */
            areturn
        end local 2 // org.antlr.misc.IntSet c
        end local 1 // org.antlr.misc.IntSet set
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/antlr/tool/Grammar;
            0    2     1   set  Lorg/antlr/misc/IntSet;
            1    2     2     c  Lorg/antlr/misc/IntSet;
    MethodParameters:
      Name  Flags
      set   

  public org.antlr.misc.IntSet complement(int);
    descriptor: (I)Lorg/antlr/misc/IntSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // int atom
         0: .line 3033
            aload 0 /* this */
            iload 1 /* atom */
            invokestatic org.antlr.misc.IntervalSet.of:(I)Lorg/antlr/misc/IntervalSet;
            invokevirtual org.antlr.tool.Grammar.complement:(Lorg/antlr/misc/IntSet;)Lorg/antlr/misc/IntSet;
            areturn
        end local 1 // int atom
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;
            0    1     1  atom  I
    MethodParameters:
      Name  Flags
      atom  

  public boolean isValidSet(org.antlr.grammar.v3.TreeToNFAConverter, org.antlr.tool.GrammarAST);
    descriptor: (Lorg/antlr/grammar/v3/TreeToNFAConverter;Lorg/antlr/tool/GrammarAST;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.grammar.v3.TreeToNFAConverter nfabuilder
        start local 2 // org.antlr.tool.GrammarAST t
         0: .line 3043
            aload 1 /* nfabuilder */
            aload 2 /* t */
            invokevirtual org.antlr.grammar.v3.TreeToNFAConverter.testBlockAsSet:(Lorg/antlr/tool/GrammarAST;)I
            istore 4 /* alts */
        start local 4 // int alts
         1: .line 3044
            iload 4 /* alts */
            iconst_1
            if_icmple 2
            iconst_1
            goto 3
      StackMap locals: org.antlr.tool.Grammar org.antlr.grammar.v3.TreeToNFAConverter org.antlr.tool.GrammarAST top int
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* valid */
        end local 4 // int alts
        start local 3 // boolean valid
         4: .line 3045
            goto 7
        end local 3 // boolean valid
         5: .line 3046
      StackMap locals: org.antlr.tool.Grammar org.antlr.grammar.v3.TreeToNFAConverter org.antlr.tool.GrammarAST
      StackMap stack: org.antlr.runtime.RecognitionException
            pop
         6: .line 3048
            iconst_0
            istore 3 /* valid */
        start local 3 // boolean valid
         7: .line 3051
      StackMap locals: int
      StackMap stack:
            iload 3 /* valid */
            ireturn
        end local 3 // boolean valid
        end local 2 // org.antlr.tool.GrammarAST t
        end local 1 // org.antlr.grammar.v3.TreeToNFAConverter nfabuilder
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/antlr/tool/Grammar;
            0    8     1  nfabuilder  Lorg/antlr/grammar/v3/TreeToNFAConverter;
            0    8     2           t  Lorg/antlr/tool/GrammarAST;
            4    5     3       valid  Z
            7    8     3       valid  Z
            1    4     4        alts  I
      Exception table:
        from    to  target  type
           0     4       5  Class org.antlr.runtime.RecognitionException
    MethodParameters:
            Name  Flags
      nfabuilder  
      t           

  public org.antlr.misc.IntSet getSetFromRule(org.antlr.grammar.v3.TreeToNFAConverter, java.lang.String);
    descriptor: (Lorg/antlr/grammar/v3/TreeToNFAConverter;Ljava/lang/String;)Lorg/antlr/misc/IntSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.grammar.v3.TreeToNFAConverter nfabuilder
        start local 2 // java.lang.String ruleName
         0: .line 3066
            aload 0 /* this */
            aload 2 /* ruleName */
            invokevirtual org.antlr.tool.Grammar.getRule:(Ljava/lang/String;)Lorg/antlr/tool/Rule;
            astore 3 /* r */
        start local 3 // org.antlr.tool.Rule r
         1: .line 3067
            aload 3 /* r */
            ifnonnull 3
         2: .line 3068
            aconst_null
            areturn
         3: .line 3072
      StackMap locals: org.antlr.tool.Rule
      StackMap stack:
            aload 1 /* nfabuilder */
            aload 3 /* r */
            getfield org.antlr.tool.Rule.tree:Lorg/antlr/tool/GrammarAST;
            invokevirtual org.antlr.grammar.v3.TreeToNFAConverter.setRule:(Lorg/antlr/tool/GrammarAST;)Lorg/antlr/misc/IntSet;
            astore 4 /* elements */
        start local 4 // org.antlr.misc.IntSet elements
         4: .line 3074
            aload 4 /* elements */
            areturn
        end local 4 // org.antlr.misc.IntSet elements
        end local 3 // org.antlr.tool.Rule r
        end local 2 // java.lang.String ruleName
        end local 1 // org.antlr.grammar.v3.TreeToNFAConverter nfabuilder
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/antlr/tool/Grammar;
            0    5     1  nfabuilder  Lorg/antlr/grammar/v3/TreeToNFAConverter;
            0    5     2    ruleName  Ljava/lang/String;
            1    5     3           r  Lorg/antlr/tool/Rule;
            4    5     4    elements  Lorg/antlr/misc/IntSet;
    Exceptions:
      throws org.antlr.runtime.RecognitionException
    MethodParameters:
            Name  Flags
      nfabuilder  
      ruleName    

  public int getNumberOfAltsForDecisionNFA(org.antlr.analysis.NFAState);
    descriptor: (Lorg/antlr/analysis/NFAState;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.analysis.NFAState decisionState
         0: .line 3082
            aload 1 /* decisionState */
            ifnonnull 2
         1: .line 3083
            iconst_0
            ireturn
         2: .line 3085
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* n */
        start local 2 // int n
         3: .line 3086
            aload 1 /* decisionState */
            astore 3 /* p */
        start local 3 // org.antlr.analysis.NFAState p
         4: .line 3087
            goto 7
         5: .line 3088
      StackMap locals: int org.antlr.analysis.NFAState
      StackMap stack:
            iinc 2 /* n */ 1
         6: .line 3089
            aload 3 /* p */
            getfield org.antlr.analysis.NFAState.transition:[Lorg/antlr/analysis/Transition;
            iconst_1
            aaload
            getfield org.antlr.analysis.Transition.target:Lorg/antlr/analysis/State;
            checkcast org.antlr.analysis.NFAState
            astore 3 /* p */
         7: .line 3087
      StackMap locals:
      StackMap stack:
            aload 3 /* p */
            getfield org.antlr.analysis.NFAState.transition:[Lorg/antlr/analysis/Transition;
            iconst_1
            aaload
            ifnonnull 5
         8: .line 3091
            iload 2 /* n */
            ireturn
        end local 3 // org.antlr.analysis.NFAState p
        end local 2 // int n
        end local 1 // org.antlr.analysis.NFAState decisionState
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/antlr/tool/Grammar;
            0    9     1  decisionState  Lorg/antlr/analysis/NFAState;
            3    9     2              n  I
            4    9     3              p  Lorg/antlr/analysis/NFAState;
    MethodParameters:
               Name  Flags
      decisionState  

  public org.antlr.analysis.NFAState getNFAStateForAltOfDecision(org.antlr.analysis.NFAState, int);
    descriptor: (Lorg/antlr/analysis/NFAState;I)Lorg/antlr/analysis/NFAState;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.analysis.NFAState decisionState
        start local 2 // int alt
         0: .line 3106
            aload 1 /* decisionState */
            ifnull 1
            iload 2 /* alt */
            ifgt 2
         1: .line 3107
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 3109
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* n */
        start local 3 // int n
         3: .line 3110
            aload 1 /* decisionState */
            astore 4 /* p */
        start local 4 // org.antlr.analysis.NFAState p
         4: .line 3111
            goto 12
         5: .line 3112
      StackMap locals: int org.antlr.analysis.NFAState
      StackMap stack:
            iload 3 /* n */
            iload 2 /* alt */
            if_icmpne 7
         6: .line 3113
            aload 4 /* p */
            areturn
         7: .line 3115
      StackMap locals:
      StackMap stack:
            iinc 3 /* n */ 1
         8: .line 3116
            aload 4 /* p */
            getfield org.antlr.analysis.NFAState.transition:[Lorg/antlr/analysis/Transition;
            iconst_1
            aaload
            astore 5 /* next */
        start local 5 // org.antlr.analysis.Transition next
         9: .line 3117
            aconst_null
            astore 4 /* p */
        10: .line 3118
            aload 5 /* next */
            ifnull 12
        11: .line 3119
            aload 5 /* next */
            getfield org.antlr.analysis.Transition.target:Lorg/antlr/analysis/State;
            checkcast org.antlr.analysis.NFAState
            astore 4 /* p */
        end local 5 // org.antlr.analysis.Transition next
        12: .line 3111
      StackMap locals:
      StackMap stack:
            aload 4 /* p */
            ifnonnull 5
        13: .line 3122
            aconst_null
            areturn
        end local 4 // org.antlr.analysis.NFAState p
        end local 3 // int n
        end local 2 // int alt
        end local 1 // org.antlr.analysis.NFAState decisionState
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           this  Lorg/antlr/tool/Grammar;
            0   14     1  decisionState  Lorg/antlr/analysis/NFAState;
            0   14     2            alt  I
            3   14     3              n  I
            4   14     4              p  Lorg/antlr/analysis/NFAState;
            9   12     5           next  Lorg/antlr/analysis/Transition;
    MethodParameters:
               Name  Flags
      decisionState  
      alt            

  public org.antlr.analysis.LookaheadSet FIRST(org.antlr.analysis.NFAState);
    descriptor: (Lorg/antlr/analysis/NFAState;)Lorg/antlr/analysis/LookaheadSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.analysis.NFAState s
         0: .line 3142
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.ll1Analyzer:Lorg/antlr/analysis/LL1Analyzer;
            aload 1 /* s */
            invokevirtual org.antlr.analysis.LL1Analyzer.FIRST:(Lorg/antlr/analysis/NFAState;)Lorg/antlr/analysis/LookaheadSet;
            areturn
        end local 1 // org.antlr.analysis.NFAState s
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;
            0    1     1     s  Lorg/antlr/analysis/NFAState;
    MethodParameters:
      Name  Flags
      s     

  public org.antlr.analysis.LookaheadSet LOOK(org.antlr.analysis.NFAState);
    descriptor: (Lorg/antlr/analysis/NFAState;)Lorg/antlr/analysis/LookaheadSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.analysis.NFAState s
         0: .line 3146
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.ll1Analyzer:Lorg/antlr/analysis/LL1Analyzer;
            aload 1 /* s */
            invokevirtual org.antlr.analysis.LL1Analyzer.LOOK:(Lorg/antlr/analysis/NFAState;)Lorg/antlr/analysis/LookaheadSet;
            areturn
        end local 1 // org.antlr.analysis.NFAState s
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;
            0    1     1     s  Lorg/antlr/analysis/NFAState;
    MethodParameters:
      Name  Flags
      s     

  public void setCodeGenerator(org.antlr.codegen.CodeGenerator);
    descriptor: (Lorg/antlr/codegen/CodeGenerator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.codegen.CodeGenerator generator
         0: .line 3150
            aload 0 /* this */
            aload 1 /* generator */
            putfield org.antlr.tool.Grammar.generator:Lorg/antlr/codegen/CodeGenerator;
         1: .line 3151
            return
        end local 1 // org.antlr.codegen.CodeGenerator generator
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/antlr/tool/Grammar;
            0    2     1  generator  Lorg/antlr/codegen/CodeGenerator;
    MethodParameters:
           Name  Flags
      generator  

  public org.antlr.codegen.CodeGenerator getCodeGenerator();
    descriptor: ()Lorg/antlr/codegen/CodeGenerator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 3154
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.generator:Lorg/antlr/codegen/CodeGenerator;
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;

  public org.antlr.tool.GrammarAST getGrammarTree();
    descriptor: ()Lorg/antlr/tool/GrammarAST;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 3158
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.grammarTree:Lorg/antlr/tool/GrammarAST;
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;

  public void setGrammarTree(org.antlr.tool.GrammarAST);
    descriptor: (Lorg/antlr/tool/GrammarAST;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.tool.GrammarAST value
         0: .line 3162
            aload 0 /* this */
            aload 1 /* value */
            putfield org.antlr.tool.Grammar.grammarTree:Lorg/antlr/tool/GrammarAST;
         1: .line 3163
            return
        end local 1 // org.antlr.tool.GrammarAST value
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/antlr/tool/Grammar;
            0    2     1  value  Lorg/antlr/tool/GrammarAST;
    MethodParameters:
       Name  Flags
      value  

  public org.antlr.Tool getTool();
    descriptor: ()Lorg/antlr/Tool;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 3166
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.tool:Lorg/antlr/Tool;
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;

  public void setTool(org.antlr.Tool);
    descriptor: (Lorg/antlr/Tool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.Tool tool
         0: .line 3170
            aload 0 /* this */
            aload 1 /* tool */
            putfield org.antlr.tool.Grammar.tool:Lorg/antlr/Tool;
         1: .line 3171
            return
        end local 1 // org.antlr.Tool tool
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/antlr/tool/Grammar;
            0    2     1  tool  Lorg/antlr/Tool;
    MethodParameters:
      Name  Flags
      tool  

  public java.lang.String computeTokenNameFromLiteral(int, java.lang.String);
    descriptor: (ILjava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // int tokenType
        start local 2 // java.lang.String literal
         0: .line 3178
            new java.lang.StringBuilder
            dup
            ldc "T__"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* tokenType */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.String literal
        end local 1 // int tokenType
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/antlr/tool/Grammar;
            0    1     1  tokenType  I
            0    1     2    literal  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      tokenType  
      literal    

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.antlr.tool.Grammar this
         0: .line 3184
            aload 0 /* this */
            aload 0 /* this */
            getfield org.antlr.tool.Grammar.grammarTree:Lorg/antlr/tool/GrammarAST;
            invokevirtual org.antlr.tool.Grammar.grammarTreeToString:(Lorg/antlr/tool/GrammarAST;)Ljava/lang/String;
            areturn
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;

  public java.lang.String grammarTreeToString(org.antlr.tool.GrammarAST);
    descriptor: (Lorg/antlr/tool/GrammarAST;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.tool.GrammarAST t
         0: .line 3188
            aload 0 /* this */
            aload 1 /* t */
            iconst_1
            invokevirtual org.antlr.tool.Grammar.grammarTreeToString:(Lorg/antlr/tool/GrammarAST;Z)Ljava/lang/String;
            areturn
        end local 1 // org.antlr.tool.GrammarAST t
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/antlr/tool/Grammar;
            0    1     1     t  Lorg/antlr/tool/GrammarAST;
    MethodParameters:
      Name  Flags
      t     

  public java.lang.String grammarTreeToString(org.antlr.tool.GrammarAST, boolean);
    descriptor: (Lorg/antlr/tool/GrammarAST;Z)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // org.antlr.tool.GrammarAST t
        start local 2 // boolean showActions
         0: .line 3194
            new java.lang.StringBuilder
            dup
            aload 1 /* t */
            invokevirtual org.antlr.tool.GrammarAST.getLine:()I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* t */
            invokevirtual org.antlr.tool.GrammarAST.getCharPositionInLine:()I
            iconst_1
            iadd
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* s */
        start local 3 // java.lang.String s
         1: .line 3195
            new java.lang.StringBuilder
            dup
            aload 3 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new org.antlr.grammar.v3.ANTLRTreePrinter
            dup
            new org.antlr.runtime.tree.CommonTreeNodeStream
            dup
            aload 1 /* t */
            invokespecial org.antlr.runtime.tree.CommonTreeNodeStream.<init>:(Ljava/lang/Object;)V
            invokespecial org.antlr.grammar.v3.ANTLRTreePrinter.<init>:(Lorg/antlr/runtime/tree/TreeNodeStream;)V
            aload 0 /* this */
            iload 2 /* showActions */
            invokevirtual org.antlr.grammar.v3.ANTLRTreePrinter.toString:(Lorg/antlr/tool/Grammar;Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* s */
         2: .line 3196
            goto 5
        end local 3 // java.lang.String s
         3: .line 3197
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         4: .line 3198
            ldc "<invalid or missing tree structure>"
            astore 3 /* s */
        start local 3 // java.lang.String s
         5: .line 3200
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* s */
            areturn
        end local 3 // java.lang.String s
        end local 2 // boolean showActions
        end local 1 // org.antlr.tool.GrammarAST t
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/antlr/tool/Grammar;
            0    6     1            t  Lorg/antlr/tool/GrammarAST;
            0    6     2  showActions  Z
            1    3     3            s  Ljava/lang/String;
            5    6     3            s  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.Exception
    MethodParameters:
             Name  Flags
      t            
      showActions  

  public void printGrammar(java.io.PrintStream);
    descriptor: (Ljava/io/PrintStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.antlr.tool.Grammar this
        start local 1 // java.io.PrintStream output
         0: .line 3204
            new org.antlr.grammar.v3.ANTLRTreePrinter
            dup
            new org.antlr.runtime.tree.CommonTreeNodeStream
            dup
            aload 0 /* this */
            invokevirtual org.antlr.tool.Grammar.getGrammarTree:()Lorg/antlr/tool/GrammarAST;
            invokespecial org.antlr.runtime.tree.CommonTreeNodeStream.<init>:(Ljava/lang/Object;)V
            invokespecial org.antlr.grammar.v3.ANTLRTreePrinter.<init>:(Lorg/antlr/runtime/tree/TreeNodeStream;)V
            astore 2 /* printer */
        start local 2 // org.antlr.grammar.v3.ANTLRTreePrinter printer
         1: .line 3206
            aload 2 /* printer */
            aload 0 /* this */
            iconst_0
            invokevirtual org.antlr.grammar.v3.ANTLRTreePrinter.toString:(Lorg/antlr/tool/Grammar;Z)Ljava/lang/String;
            astore 3 /* g */
        start local 3 // java.lang.String g
         2: .line 3207
            aload 1 /* output */
            aload 3 /* g */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 3 // java.lang.String g
         3: .line 3208
            goto 6
         4: .line 3209
      StackMap locals: org.antlr.tool.Grammar java.io.PrintStream org.antlr.grammar.v3.ANTLRTreePrinter
      StackMap stack: org.antlr.runtime.RecognitionException
            astore 3 /* re */
        start local 3 // org.antlr.runtime.RecognitionException re
         5: .line 3210
            bipush 100
            aload 3 /* re */
            invokestatic org.antlr.tool.ErrorManager.error:(ILjava/lang/Throwable;)V
        end local 3 // org.antlr.runtime.RecognitionException re
         6: .line 3212
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.antlr.grammar.v3.ANTLRTreePrinter printer
        end local 1 // java.io.PrintStream output
        end local 0 // org.antlr.tool.Grammar this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/antlr/tool/Grammar;
            0    7     1   output  Ljava/io/PrintStream;
            1    7     2  printer  Lorg/antlr/grammar/v3/ANTLRTreePrinter;
            2    3     3        g  Ljava/lang/String;
            5    6     3       re  Lorg/antlr/runtime/RecognitionException;
      Exception table:
        from    to  target  type
           1     3       4  Class org.antlr.runtime.RecognitionException
    MethodParameters:
        Name  Flags
      output  
}
SourceFile: "Grammar.java"
NestMembers:
  org.antlr.tool.Grammar$1  org.antlr.tool.Grammar$10  org.antlr.tool.Grammar$2  org.antlr.tool.Grammar$3  org.antlr.tool.Grammar$4  org.antlr.tool.Grammar$5  org.antlr.tool.Grammar$6  org.antlr.tool.Grammar$7  org.antlr.tool.Grammar$8  org.antlr.tool.Grammar$9  org.antlr.tool.Grammar$Decision  org.antlr.tool.Grammar$LabelElementPair
InnerClasses:
  public final UnicodeBlock = java.lang.Character$UnicodeBlock of java.lang.Character
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public grammar__return = org.antlr.grammar.v3.ANTLRParser$grammar__return of org.antlr.grammar.v3.ANTLRParser
  public rule_return = org.antlr.grammar.v3.ANTLRParser$rule_return of org.antlr.grammar.v3.ANTLRParser
  public grammar__return = org.antlr.grammar.v3.DefineGrammarItemsWalker$grammar__return of org.antlr.grammar.v3.DefineGrammarItemsWalker
  org.antlr.tool.Grammar$1
  org.antlr.tool.Grammar$10
  org.antlr.tool.Grammar$2
  org.antlr.tool.Grammar$3
  org.antlr.tool.Grammar$4
  org.antlr.tool.Grammar$5
  org.antlr.tool.Grammar$6
  org.antlr.tool.Grammar$7
  org.antlr.tool.Grammar$8
  org.antlr.tool.Grammar$9
  public Decision = org.antlr.tool.Grammar$Decision of org.antlr.tool.Grammar
  public LabelElementPair = org.antlr.tool.Grammar$LabelElementPair of org.antlr.tool.Grammar