final case classCapturingRule(tag: String, rule: Rule) extends Rule with Product with Serializable
final case classChoiceRule(choices: List[Rule]) extends Rule with Product with Serializable
final case classExpressionRule(tag: String, atom: Rule) extends Rule with Product with Serializable
final case classNamedRule(label: String, rule: Rule, trace: Boolean = false) extends Rule with Product with Serializable
final case classRecoveryRule(rule: Rule, exception: Option[String] = scala.None, branch: Option[String] = scala.None) extends Rule with Product with Serializable
final case classReferentialRule(name: String, tag: Option[String] = scala.None) extends Rule with Product with Serializable
final case classRepetitionRule(element: Rule, separator: Option[Rule] = scala.None, min: Option[Int] = scala.None, max: Option[Int] = scala.None) extends Rule with Product with Serializable
final case classRequiredRule(rule: Rule) extends Rule with Product with Serializable
final case classSequentialRule(steps: List[Rule]) extends Rule with Product with Serializable
final case classTokenRule(kind: String, matchUntil: Boolean = false) extends Rule with Product with Serializable