127 lines
2.5 KiB
Plaintext
127 lines
2.5 KiB
Plaintext
|
==================
|
||
|
Simple Match
|
||
|
==================
|
||
|
|
||
|
match 1 {
|
||
|
3 => 'foo'
|
||
|
2 => 'bar'
|
||
|
1 => 42
|
||
|
}
|
||
|
|
||
|
---
|
||
|
|
||
|
(root
|
||
|
(item
|
||
|
(statement
|
||
|
(match
|
||
|
(expression
|
||
|
(value
|
||
|
(integer)))
|
||
|
(expression
|
||
|
(value
|
||
|
(integer)))
|
||
|
(item
|
||
|
(statement
|
||
|
(expression
|
||
|
(value
|
||
|
(string)))))
|
||
|
(expression
|
||
|
(value
|
||
|
(integer)))
|
||
|
(item
|
||
|
(statement
|
||
|
(expression
|
||
|
(value
|
||
|
(string)))))
|
||
|
(expression
|
||
|
(value
|
||
|
(integer)))
|
||
|
(item
|
||
|
(statement
|
||
|
(expression
|
||
|
(value
|
||
|
(integer)))))))))
|
||
|
|
||
|
==================
|
||
|
Nested Matches
|
||
|
==================
|
||
|
|
||
|
match 1 {
|
||
|
3 => match true {
|
||
|
true => match (random_integer) {
|
||
|
0 => 42
|
||
|
9 => 'foo'
|
||
|
}
|
||
|
false => 0
|
||
|
}
|
||
|
2 => 'bar'
|
||
|
1 => 42
|
||
|
}
|
||
|
|
||
|
---
|
||
|
|
||
|
(root
|
||
|
(item
|
||
|
(statement
|
||
|
(match
|
||
|
(expression
|
||
|
(value
|
||
|
(integer)))
|
||
|
(expression
|
||
|
(value
|
||
|
(integer)))
|
||
|
(item
|
||
|
(statement
|
||
|
(match
|
||
|
(expression
|
||
|
(value
|
||
|
(boolean)))
|
||
|
(expression
|
||
|
(value
|
||
|
(boolean)))
|
||
|
(item
|
||
|
(statement
|
||
|
(match
|
||
|
(expression
|
||
|
(tool))
|
||
|
(expression
|
||
|
(value
|
||
|
(integer)))
|
||
|
(item
|
||
|
(statement
|
||
|
(expression
|
||
|
(value
|
||
|
(integer)))))
|
||
|
(expression
|
||
|
(value
|
||
|
(integer)))
|
||
|
(item
|
||
|
(statement
|
||
|
(expression
|
||
|
(value
|
||
|
(string))))))))
|
||
|
(expression
|
||
|
(value
|
||
|
(boolean)))
|
||
|
(item
|
||
|
(statement
|
||
|
(expression
|
||
|
(value
|
||
|
(integer))))))))
|
||
|
(expression
|
||
|
(value
|
||
|
(integer)))
|
||
|
(item
|
||
|
(statement
|
||
|
(expression
|
||
|
(value
|
||
|
(string)))))
|
||
|
(expression
|
||
|
(value
|
||
|
(integer)))
|
||
|
(item
|
||
|
(statement
|
||
|
(expression
|
||
|
(value
|
||
|
(integer)))))))))
|