1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
#[derive(Debug, PartialEq, Clone)]
pub enum Expr {
  NoOp,
  ValueExpr(u8),
  LastValueExpr,
  AnyValueExpr,
  PerExpr {
    digit: Box<Expr>,
    option: Box<Expr>,
  },
  RangeExpr {
    from: Box<Expr>,
    to: Box<Expr>,
    per_option: Box<Expr>,
  },
  ListExpr(Vec<Expr>),
  CronExpr {
    mins: Box<Expr>,
    hours: Box<Expr>,
    days: Box<Expr>,
    months: Box<Expr>,
    day_of_weeks: Box<Expr>,
  },
}