Class ActionLabel

  • All Implemented Interfaces:
    java.lang.Cloneable, java.lang.Comparable<Label>

    public class ActionLabel
    extends Label
    • Constructor Detail

      • ActionLabel

        public ActionLabel​(GrammarAST actionAST)
    • Method Detail

      • isEpsilon

        public boolean isEpsilon()
        Overrides:
        isEpsilon in class Label
      • isAction

        public boolean isAction()
        Overrides:
        isAction in class Label
      • toString

        public java.lang.String toString()
        Description copied from class: Label
        Predicates are lists of AST nodes from the NFA created from the grammar, but the same predicate could be cut/paste into multiple places in the grammar. I must compare the text of all the predicates to truly answer whether {p1,p2} .equals {p1,p2}. Unfortunately, I cannot rely on the AST.equals() to work properly so I must do a brute force O(n^2) nested traversal of the Set doing a String compare. At this point, Labels are not compared for equals when they are predicates, but here's the code for future use.
        Overrides:
        toString in class Label