chore(semantics): make sure that interval is handled in the semantics
This commit is contained in:
parent
c339343f84
commit
0e62085edc
2 changed files with 16 additions and 6 deletions
|
|
@ -50,7 +50,8 @@ impl Semantics for BooleanSemantics {
|
||||||
Ok(ret)
|
Ok(ret)
|
||||||
}
|
}
|
||||||
BoolExpr::Next { arg: _ } => todo!(),
|
BoolExpr::Next { arg: _ } => todo!(),
|
||||||
BoolExpr::Always { arg } => {
|
BoolExpr::Oracle { steps: _, arg: _ } => todo!(),
|
||||||
|
BoolExpr::Always { arg, interval } => {
|
||||||
let mut arg = Self::eval(arg, trace, ctx)?;
|
let mut arg = Self::eval(arg, trace, ctx)?;
|
||||||
match &mut arg {
|
match &mut arg {
|
||||||
// if signal is empty or constant, return the signal itself.
|
// if signal is empty or constant, return the signal itself.
|
||||||
|
|
@ -66,7 +67,7 @@ impl Semantics for BooleanSemantics {
|
||||||
}
|
}
|
||||||
Ok(arg)
|
Ok(arg)
|
||||||
}
|
}
|
||||||
BoolExpr::Eventually { arg } => {
|
BoolExpr::Eventually { arg, interval } => {
|
||||||
let mut arg = Self::eval(arg, trace, ctx)?;
|
let mut arg = Self::eval(arg, trace, ctx)?;
|
||||||
match &mut arg {
|
match &mut arg {
|
||||||
// if signal is empty or constant, return the signal itself.
|
// if signal is empty or constant, return the signal itself.
|
||||||
|
|
@ -83,7 +84,11 @@ impl Semantics for BooleanSemantics {
|
||||||
}
|
}
|
||||||
Ok(arg)
|
Ok(arg)
|
||||||
}
|
}
|
||||||
BoolExpr::Until { lhs: _, rhs: _ } => todo!(),
|
BoolExpr::Until {
|
||||||
|
lhs: _,
|
||||||
|
rhs: _,
|
||||||
|
interval,
|
||||||
|
} => todo!(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,8 @@ impl Semantics for QuantitativeSemantics {
|
||||||
.ok_or(ArgusError::InvalidOperation)?
|
.ok_or(ArgusError::InvalidOperation)?
|
||||||
}
|
}
|
||||||
BoolExpr::Next { arg: _ } => todo!(),
|
BoolExpr::Next { arg: _ } => todo!(),
|
||||||
BoolExpr::Always { arg } => {
|
BoolExpr::Oracle { steps: _, arg: _ } => todo!(),
|
||||||
|
BoolExpr::Always { arg, interval } => {
|
||||||
let mut arg = Self::eval(arg, trace, ctx)?;
|
let mut arg = Self::eval(arg, trace, ctx)?;
|
||||||
match &mut arg {
|
match &mut arg {
|
||||||
// if signal is empty or constant, return the signal itself.
|
// if signal is empty or constant, return the signal itself.
|
||||||
|
|
@ -85,7 +86,7 @@ impl Semantics for QuantitativeSemantics {
|
||||||
}
|
}
|
||||||
arg
|
arg
|
||||||
}
|
}
|
||||||
BoolExpr::Eventually { arg } => {
|
BoolExpr::Eventually { arg, interval } => {
|
||||||
let mut arg = Self::eval(arg, trace, ctx)?;
|
let mut arg = Self::eval(arg, trace, ctx)?;
|
||||||
match &mut arg {
|
match &mut arg {
|
||||||
// if signal is empty or constant, return the signal itself.
|
// if signal is empty or constant, return the signal itself.
|
||||||
|
|
@ -101,7 +102,11 @@ impl Semantics for QuantitativeSemantics {
|
||||||
}
|
}
|
||||||
arg
|
arg
|
||||||
}
|
}
|
||||||
BoolExpr::Until { lhs: _, rhs: _ } => todo!(),
|
BoolExpr::Until {
|
||||||
|
lhs: _,
|
||||||
|
rhs: _,
|
||||||
|
interval,
|
||||||
|
} => todo!(),
|
||||||
};
|
};
|
||||||
Ok(ret)
|
Ok(ret)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue