summaryrefslogtreecommitdiffstats
path: root/crates/rebel-parse/src/ast.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/rebel-parse/src/ast.rs')
-rw-r--r--crates/rebel-parse/src/ast.rs23
1 files changed, 8 insertions, 15 deletions
diff --git a/crates/rebel-parse/src/ast.rs b/crates/rebel-parse/src/ast.rs
index ae5d61f..8f86acd 100644
--- a/crates/rebel-parse/src/ast.rs
+++ b/crates/rebel-parse/src/ast.rs
@@ -9,7 +9,7 @@ pub enum RecipeStmt<'a> {
},
Task {
name: Ident<'a>,
- args: Vec<ArgType<'a>>,
+ params: Vec<FuncParam<'a>>,
body: Body<'a>,
},
}
@@ -48,12 +48,12 @@ pub enum Expr<'a> {
},
Apply {
expr: Box<Expr<'a>>,
- args: Vec<Arg<'a>>,
+ params: Vec<Expr<'a>>,
},
Method {
expr: Box<Expr<'a>>,
method: Ident<'a>,
- args: Vec<Arg<'a>>,
+ params: Vec<Expr<'a>>,
},
Index {
expr: Box<Expr<'a>>,
@@ -84,18 +84,18 @@ impl<'a> Expr<'a> {
}
}
- pub(crate) fn apply(expr: Expr<'a>, args: Args<'a>) -> Self {
+ pub(crate) fn apply(expr: Expr<'a>, params: Vec<Expr<'a>>) -> Self {
Expr::Apply {
expr: Box::new(expr),
- args,
+ params,
}
}
- pub(crate) fn method(expr: Expr<'a>, method: Ident<'a>, args: Args<'a>) -> Self {
+ pub(crate) fn method(expr: Expr<'a>, method: Ident<'a>, params: Vec<Expr<'a>>) -> Self {
Expr::Method {
expr: Box::new(expr),
method,
- args,
+ params,
}
}
@@ -124,15 +124,8 @@ pub struct TypedExpr<'a> {
pub typ: Option<Expr<'a>>,
}
-pub type Args<'a> = Vec<Arg<'a>>;
-
-#[derive(Debug, Clone)]
-pub struct Arg<'a> {
- pub expr: Expr<'a>,
-}
-
#[derive(Debug, Clone)]
-pub struct ArgType<'a> {
+pub struct FuncParam<'a> {
pub name: Ident<'a>,
pub typ: Expr<'a>,
}