cl-interpret: builtin.rs whitespace changes
This commit is contained in:
parent
aa7612926e
commit
15c4b89bce
@ -32,6 +32,7 @@ builtins! {
|
|||||||
}
|
}
|
||||||
Ok(ConValue::Empty)
|
Ok(ConValue::Empty)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Unstable variadic println function
|
/// Unstable variadic println function
|
||||||
pub fn println<_, args> () -> IResult<ConValue> {
|
pub fn println<_, args> () -> IResult<ConValue> {
|
||||||
let mut out = stdout().lock();
|
let mut out = stdout().lock();
|
||||||
@ -41,6 +42,7 @@ builtins! {
|
|||||||
writeln!(out).ok();
|
writeln!(out).ok();
|
||||||
Ok(ConValue::Empty)
|
Ok(ConValue::Empty)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Prints the [Debug](std::fmt::Debug) version of the input values
|
/// Prints the [Debug](std::fmt::Debug) version of the input values
|
||||||
pub fn dbg<_, args> () -> IResult<ConValue> {
|
pub fn dbg<_, args> () -> IResult<ConValue> {
|
||||||
let mut out = stdout().lock();
|
let mut out = stdout().lock();
|
||||||
@ -49,6 +51,7 @@ builtins! {
|
|||||||
}
|
}
|
||||||
Ok(args.into())
|
Ok(args.into())
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Dumps info from the environment
|
/// Dumps info from the environment
|
||||||
pub fn dump<env, _>() -> IResult<ConValue> {
|
pub fn dump<env, _>() -> IResult<ConValue> {
|
||||||
println!("{}", *env);
|
println!("{}", *env);
|
||||||
@ -65,6 +68,7 @@ builtins! {
|
|||||||
_ => Err(Error::TypeError)?
|
_ => Err(Error::TypeError)?
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Division `a / b`
|
/// Division `a / b`
|
||||||
pub fn div(lhs, rhs) -> IResult<ConValue> {
|
pub fn div(lhs, rhs) -> IResult<ConValue> {
|
||||||
Ok(match (lhs, rhs){
|
Ok(match (lhs, rhs){
|
||||||
@ -73,6 +77,7 @@ builtins! {
|
|||||||
_ => Err(Error::TypeError)?
|
_ => Err(Error::TypeError)?
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Remainder `a % b`
|
/// Remainder `a % b`
|
||||||
pub fn rem(lhs, rhs) -> IResult<ConValue> {
|
pub fn rem(lhs, rhs) -> IResult<ConValue> {
|
||||||
Ok(match (lhs, rhs) {
|
Ok(match (lhs, rhs) {
|
||||||
@ -91,6 +96,7 @@ builtins! {
|
|||||||
_ => Err(Error::TypeError)?
|
_ => Err(Error::TypeError)?
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Subtraction `a - b`
|
/// Subtraction `a - b`
|
||||||
pub fn sub(lhs, rhs) -> IResult<ConValue> {
|
pub fn sub(lhs, rhs) -> IResult<ConValue> {
|
||||||
Ok(match (lhs, rhs) {
|
Ok(match (lhs, rhs) {
|
||||||
@ -108,6 +114,7 @@ builtins! {
|
|||||||
_ => Err(Error::TypeError)?,
|
_ => Err(Error::TypeError)?,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Shift Right `a >> b`
|
/// Shift Right `a >> b`
|
||||||
pub fn shr(lhs, rhs) -> IResult<ConValue> {
|
pub fn shr(lhs, rhs) -> IResult<ConValue> {
|
||||||
Ok(match (lhs, rhs) {
|
Ok(match (lhs, rhs) {
|
||||||
@ -126,6 +133,7 @@ builtins! {
|
|||||||
_ => Err(Error::TypeError)?,
|
_ => Err(Error::TypeError)?,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Bitwise Or `a | b`
|
/// Bitwise Or `a | b`
|
||||||
pub fn or(lhs, rhs) -> IResult<ConValue> {
|
pub fn or(lhs, rhs) -> IResult<ConValue> {
|
||||||
Ok(match (lhs, rhs) {
|
Ok(match (lhs, rhs) {
|
||||||
@ -135,6 +143,7 @@ builtins! {
|
|||||||
_ => Err(Error::TypeError)?,
|
_ => Err(Error::TypeError)?,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Bitwise Exclusive Or `a ^ b`
|
/// Bitwise Exclusive Or `a ^ b`
|
||||||
pub fn xor(lhs, rhs) -> IResult<ConValue> {
|
pub fn xor(lhs, rhs) -> IResult<ConValue> {
|
||||||
Ok(match (lhs, rhs) {
|
Ok(match (lhs, rhs) {
|
||||||
@ -149,22 +158,27 @@ builtins! {
|
|||||||
pub fn lt(lhs, rhs) -> IResult<ConValue> {
|
pub fn lt(lhs, rhs) -> IResult<ConValue> {
|
||||||
cmp!(lhs, rhs, false, <)
|
cmp!(lhs, rhs, false, <)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Tests whether `a <= b`
|
/// Tests whether `a <= b`
|
||||||
pub fn lt_eq(lhs, rhs) -> IResult<ConValue> {
|
pub fn lt_eq(lhs, rhs) -> IResult<ConValue> {
|
||||||
cmp!(lhs, rhs, true, <=)
|
cmp!(lhs, rhs, true, <=)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Tests whether `a == b`
|
/// Tests whether `a == b`
|
||||||
pub fn eq(lhs, rhs) -> IResult<ConValue> {
|
pub fn eq(lhs, rhs) -> IResult<ConValue> {
|
||||||
cmp!(lhs, rhs, true, ==)
|
cmp!(lhs, rhs, true, ==)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Tests whether `a != b`
|
/// Tests whether `a != b`
|
||||||
pub fn neq(lhs, rhs) -> IResult<ConValue> {
|
pub fn neq(lhs, rhs) -> IResult<ConValue> {
|
||||||
cmp!(lhs, rhs, false, !=)
|
cmp!(lhs, rhs, false, !=)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Tests whether `a <= b`
|
/// Tests whether `a <= b`
|
||||||
pub fn gt_eq(lhs, rhs) -> IResult<ConValue> {
|
pub fn gt_eq(lhs, rhs) -> IResult<ConValue> {
|
||||||
cmp!(lhs, rhs, true, >=)
|
cmp!(lhs, rhs, true, >=)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Tests whether `a < b`
|
/// Tests whether `a < b`
|
||||||
pub fn gt(lhs, rhs) -> IResult<ConValue> {
|
pub fn gt(lhs, rhs) -> IResult<ConValue> {
|
||||||
cmp!(lhs, rhs, false, >)
|
cmp!(lhs, rhs, false, >)
|
||||||
@ -179,6 +193,7 @@ builtins! {
|
|||||||
};
|
};
|
||||||
Ok(ConValue::RangeExc(lhs, rhs.saturating_sub(1)))
|
Ok(ConValue::RangeExc(lhs, rhs.saturating_sub(1)))
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Inclusive Range `a..=b`
|
/// Inclusive Range `a..=b`
|
||||||
pub fn range_inc(lhs, rhs) -> IResult<ConValue> {
|
pub fn range_inc(lhs, rhs) -> IResult<ConValue> {
|
||||||
let (&ConValue::Int(lhs), &ConValue::Int(rhs)) = (lhs, rhs) else {
|
let (&ConValue::Int(lhs), &ConValue::Int(rhs)) = (lhs, rhs) else {
|
||||||
@ -197,6 +212,7 @@ builtins! {
|
|||||||
_ => Err(Error::TypeError)?,
|
_ => Err(Error::TypeError)?,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Inverts the ConValue
|
/// Inverts the ConValue
|
||||||
pub fn not(tail) -> IResult<ConValue> {
|
pub fn not(tail) -> IResult<ConValue> {
|
||||||
Ok(match tail {
|
Ok(match tail {
|
||||||
@ -206,6 +222,7 @@ builtins! {
|
|||||||
_ => Err(Error::TypeError)?,
|
_ => Err(Error::TypeError)?,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn deref(tail) -> IResult<ConValue> {
|
pub fn deref(tail) -> IResult<ConValue> {
|
||||||
Ok(match tail {
|
Ok(match tail {
|
||||||
ConValue::Ref(v) => Rc::as_ref(v).clone(),
|
ConValue::Ref(v) => Rc::as_ref(v).clone(),
|
||||||
|
Loading…
Reference in New Issue
Block a user