public ShiftLeftExpression(BaseExpression left, BaseExpression right) : base(left, right) { }
public DivExpression(BaseExpression left, BaseExpression right) : base(left, right) { }
public NegateExpression(BaseExpression inner) : base(inner) { }
internal Repetition(BaseExpression expression, int min, int? max) { Expression = expression; Min = min; Max = max; }
public BitOrExpression(BaseExpression left, BaseExpression right) : base(left, right) { }
internal Expression(BaseExpression value) { Value = value; }
public HighByteExpression(BaseExpression inner) { _inner = inner; }
protected UnaryExpression(BaseExpression inner) { _inner = inner; }
internal Assertion(bool isPositive, BaseExpression expression) { IsPositive = isPositive; Expression = expression; }
internal Labeled(string label, BaseExpression expression) { Label = label; Expression = expression; }
protected BinaryExpression(BaseExpression left, BaseExpression right) { _left = left; _right = right; }
public LessThanEqualTo([NotNull] BaseExpression lhs, [NotNull] BaseExpression rhs) : base(lhs, rhs) { }
public SubstituteVariable(VariableName var, BaseExpression exp) { _var = var; _exp = exp; }
public Goto(BaseExpression destination) { _destination = destination; }
public Pow(BaseExpression f, BaseExpression p) { Floor = f; Power = p; }