Small adjustments for integration
This commit is contained in:
parent
228d10aeb3
commit
1118182156
4 changed files with 11 additions and 5 deletions
|
@ -32,7 +32,7 @@ impl std::fmt::Debug for Span {
|
|||
}
|
||||
|
||||
#[rustfmt::skip]
|
||||
#[derive(Clone, PartialEq, Serialize, Deserialize, Debug, strum::EnumString, strum::Display)]
|
||||
#[derive(Clone, PartialEq, Eq, Serialize, Deserialize, Debug, strum::EnumString, strum::Display)]
|
||||
pub enum BinOp {
|
||||
#[strum(serialize = "+") ] Plus,
|
||||
#[strum(serialize = "-") ] Minus,
|
||||
|
@ -49,13 +49,13 @@ pub enum BinOp {
|
|||
#[strum(serialize = "=~")] RegexMatch,
|
||||
}
|
||||
|
||||
#[derive(Clone, PartialEq, Serialize, Deserialize, Debug, strum::EnumString, strum::Display)]
|
||||
#[derive(Clone, PartialEq, Eq, Serialize, Deserialize, Debug, strum::EnumString, strum::Display)]
|
||||
pub enum UnaryOp {
|
||||
#[strum(serialize = "!")]
|
||||
Not,
|
||||
}
|
||||
|
||||
#[derive(Clone, PartialEq, Serialize, Deserialize)]
|
||||
#[derive(Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub enum SimplExpr {
|
||||
Literal(Span, DynVal),
|
||||
VarRef(Span, String),
|
||||
|
|
|
@ -23,7 +23,7 @@ impl ConversionError {
|
|||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Deserialize, Serialize, Default)]
|
||||
#[derive(Clone, Deserialize, Serialize, Default, Eq)]
|
||||
pub struct DynVal(pub String, pub Option<Span>);
|
||||
|
||||
impl MaybeSpanned for DynVal {
|
||||
|
|
|
@ -6,6 +6,12 @@ pub mod dynval;
|
|||
pub mod error;
|
||||
pub mod eval;
|
||||
pub mod parser;
|
||||
use ast::SimplExpr;
|
||||
use lalrpop_util::lalrpop_mod;
|
||||
|
||||
lalrpop_mod!(pub simplexpr_parser);
|
||||
|
||||
pub fn parse_string(s: &str) -> Result<SimplExpr, error::Error> {
|
||||
parser::parse_string(s)
|
||||
}
|
||||
pub use ast::Span;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
use logos::Logos;
|
||||
|
||||
#[rustfmt::skip]
|
||||
#[derive(Logos, Debug, PartialEq, Eq, Clone, strum::Display)]
|
||||
#[derive(Logos, Debug, PartialEq, Eq, Clone, strum::Display, strum::EnumString)]
|
||||
pub enum Token {
|
||||
#[strum(serialize = "+") ] #[token("+") ] Plus,
|
||||
#[strum(serialize = "-") ] #[token("-") ] Minus,
|
||||
|
|
Loading…
Add table
Reference in a new issue