mirror of
https://github.com/azur1s/bobbylisp.git
synced 2024-10-16 02:37:40 -05:00
tweaked sexpr gen
This commit is contained in:
parent
9d10030c47
commit
c15183ca66
|
@ -1,9 +1,12 @@
|
||||||
let foo = 1 + 1;
|
let foo = if 1 == 1 then
|
||||||
|
5
|
||||||
if foo == 2 then
|
|
||||||
do
|
|
||||||
foo + 1;
|
|
||||||
end
|
|
||||||
else
|
else
|
||||||
foo - 1;
|
10
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
do
|
||||||
|
print(1);
|
||||||
|
end;
|
||||||
|
|
||||||
|
fun bar a b = a + b;
|
||||||
|
let baz = bar(34 35);
|
|
@ -323,9 +323,9 @@ impl Expr {
|
||||||
&format!("({} {})", name.to_sexpr(), args.iter().map(|x| x.to_sexpr()).collect::<Vec<_>>().join(" "))),
|
&format!("({} {})", name.to_sexpr(), args.iter().map(|x| x.to_sexpr()).collect::<Vec<_>>().join(" "))),
|
||||||
|
|
||||||
Self::Let{ name, value } => out.push_str(
|
Self::Let{ name, value } => out.push_str(
|
||||||
&format!("(let\n {}\n {})", name, value.clone().to_sexpr())),
|
&format!("(let {}\n {})", name, value.clone().to_sexpr())),
|
||||||
Self::Fun{ name, args, body } => out.push_str(
|
Self::Fun{ name, args, body } => out.push_str(
|
||||||
&format!("(fun\n ({})\n {}\n {})", name, args.join(" "), body.to_sexpr())),
|
&format!("(fun {} ({})\n {})", name, args.join(" "), body.to_sexpr())),
|
||||||
|
|
||||||
Self::If { cond, then, else_ } => out.push_str(
|
Self::If { cond, then, else_ } => out.push_str(
|
||||||
&format!("(if {}\n {}\n {})", cond.to_sexpr(), then.to_sexpr(), else_.to_sexpr())),
|
&format!("(if {}\n {}\n {})", cond.to_sexpr(), then.to_sexpr(), else_.to_sexpr())),
|
||||||
|
|
Loading…
Reference in a new issue