dsl, output: error handlers
Some checks are pending
/ build (push) Waiting to run

This commit is contained in:
🪞👃🪞 2025-05-21 14:17:27 +03:00
parent a4a1066f18
commit abc87d3234
7 changed files with 25 additions and 197 deletions

View file

@ -41,11 +41,11 @@ macro_rules! transform_xy {
let mut base = token.clone();
return Ok(Some(match token.next() {
Some(Token{value:Value::Key($x),..}) =>
Self::x(state.take_or_fail(token, "x: no content")?),
Self::x(state.take_or_fail(token, ||"x: no content")?),
Some(Token{value:Value::Key($y),..}) =>
Self::y(state.take_or_fail(token, "y: no content")?),
Self::y(state.take_or_fail(token, ||"y: no content")?),
Some(Token{value:Value::Key($xy),..}) =>
Self::xy(state.take_or_fail(token, "xy: no content")?),
Self::xy(state.take_or_fail(token, ||"xy: no content")?),
_ => unreachable!()
}))
}
@ -87,17 +87,17 @@ macro_rules! transform_xy_unit {
let mut base = token.clone();
Some(match token.next() {
Some(Token { value: Value::Key($x), .. }) => Self::x(
state.take_or_fail(token, "x: no unit")?,
state.take_or_fail(token, "x: no content")?,
state.take_or_fail(token, ||"x: no unit")?,
state.take_or_fail(token, ||"x: no content")?,
),
Some(Token { value: Value::Key($y), .. }) => Self::y(
state.take_or_fail(token, "y: no unit")?,
state.take_or_fail(token, "y: no content")?,
state.take_or_fail(token, ||"y: no unit")?,
state.take_or_fail(token, ||"y: no content")?,
),
Some(Token { value: Value::Key($x), .. }) => Self::xy(
state.take_or_fail(token, "xy: no unit x")?,
state.take_or_fail(token, "xy: no unit y")?,
state.take_or_fail(token, "xy: no content")?
state.take_or_fail(token, ||"xy: no unit x")?,
state.take_or_fail(token, ||"xy: no unit y")?,
state.take_or_fail(token, ||"xy: no content")?
),
_ => unreachable!(),
})