Add example for if expressions

main
trivernis 2 months ago
parent f30d053de2
commit d3e9feaaf4
Signed by: Trivernis
GPG Key ID: 7E6D18B61C8D2F4B

@ -43,6 +43,13 @@ add2 4
// nested function calls
add2 (sub4 (mul2 4))
// if is an expression that can return a value
let value =
if a == b then
a
else
b
```
### Declarations

@ -3,7 +3,7 @@ file = {
}
statement = { (decl | type_decl | expr) ~ TERMINATE }
decl = { "let" ~ #name = ident ~ #args = (ident)* ~ #type = type_annot? ~ "=" ~ expr }
decl = { "let" ~ #name = ident ~ #args = (ident)* ~ #type = type_annot? ~ "=" ~ MLF ~ expr }
block = { "{" ~ MLF ~ block_line ~ MLF ~ "}" }
block_line = _{ expr | (statement ~ MLF)* }

@ -12,6 +12,12 @@ if 1 != 1 then {
a + 1
}
let value =
if a == b then
a
else
b
======
(file
@ -88,5 +94,27 @@ if 1 != 1 then {
)
)
)
(statement
(decl
(ident: "value")
(expr
(if
(expr
(infix_expr
(ident: "a")
(operator: "==")
(ident: "b")
)
)
(expr
(ident: "a")
)
(expr
(ident: "b")
)
)
)
)
)
(EOI: "")
)

Loading…
Cancel
Save