mirror of
https://github.com/azur1s/bobbylisp.git
synced 2024-10-16 02:37:40 -05:00
use nested_parser instead
This commit is contained in:
parent
6f11fa8ccc
commit
a07a4ab021
2
a.hlm
2
a.hlm
|
@ -1,4 +1,4 @@
|
|||
func add (x: num) num = x + 1;
|
||||
func add (x: num) num = (\a: num -> a + 1)(x);
|
||||
|
||||
println(
|
||||
{
|
||||
|
|
|
@ -445,14 +445,17 @@ pub fn exprs_parser() -> impl P<Vec<Spanned<PExpr>>> {
|
|||
pub fn stmt_parser() -> impl P<Spanned<PStmt>> {
|
||||
let func = just(Token::Func)
|
||||
.ignore_then(symbol_parser())
|
||||
.then_ignore(just(Token::Open(Delim::Paren)))
|
||||
.then(
|
||||
nested_parser(
|
||||
symbol_parser()
|
||||
.then_ignore(just(Token::Colon))
|
||||
.then(type_parser())
|
||||
.separated_by(just(Token::Comma))
|
||||
.allow_trailing(),
|
||||
Delim::Paren,
|
||||
|_| Vec::new(),
|
||||
)
|
||||
)
|
||||
.then_ignore(just(Token::Close(Delim::Paren)))
|
||||
.then(type_parser())
|
||||
.then_ignore(just(Token::Assign))
|
||||
.then(expr_parser().map(Box::new))
|
||||
|
|
Loading…
Reference in a new issue