Small adjustments for integration

This commit is contained in:
elkowar 2021-07-17 12:57:12 +02:00
parent 228d10aeb3
commit 1118182156
No known key found for this signature in database
GPG key ID: E321AD71B1D1F27F
4 changed files with 11 additions and 5 deletions

View file

@ -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),

View file

@ -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 {

View file

@ -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;

View file

@ -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,