Class RuleFunction

    • Field Detail

      • name

        public final java.lang.String name
      • escapedName

        public final java.lang.String escapedName
      • modifiers

        public final java.util.List<java.lang.String> modifiers
      • ctxType

        public java.lang.String ctxType
      • ruleLabels

        public final java.util.Collection<java.lang.String> ruleLabels
      • tokenLabels

        public final java.util.Collection<java.lang.String> tokenLabels
      • startState

        public final ATNState startState
      • index

        public final int index
      • rule

        public final Rule rule
      • hasLookaheadBlock

        public boolean hasLookaheadBlock
      • code

        public java.util.List<SrcOp> code
      • namedActions

        public java.util.Map<java.lang.String,​Action> namedActions
      • finallyAction

        public Action finallyAction
      • postamble

        public java.util.List<SrcOp> postamble
    • Method Detail

      • getDeclsForAllElements

        public java.util.Set<Decl> getDeclsForAllElements​(java.util.List<AltAST> altASTs)
        for all alts, find which ref X or r needs List Must see across alts. If any alt needs X or r as list, then define as list.
      • getRuleTokens

        private java.util.List<GrammarAST> getRuleTokens​(java.util.List<GrammarAST> refs)
      • getName

        private java.lang.String getName​(GrammarAST token)
      • getElementFrequenciesForAlt

        protected Pair<FrequencySet<java.lang.String>,​FrequencySet<java.lang.String>> getElementFrequenciesForAlt​(AltAST ast)
        Given list of X and r refs in alt, compute how many of each there are
      • getDeclForAltElement

        public java.util.List<Decl> getDeclForAltElement​(GrammarAST t,
                                                         java.lang.String refLabelName,
                                                         boolean needList,
                                                         boolean optional)
      • addLocalDecl

        public void addLocalDecl​(Decl d)
        Add local var decl
      • addContextDecl

        public void addContextDecl​(java.lang.String altLabel,
                                   Decl d)
        Add decl to struct ctx for rule or alt if labeled