|
32 | 32 | #define LAST_PATTERN(Id)
|
33 | 33 | #endif
|
34 | 34 |
|
35 |
| -PATTERN(Paren, Pattern) |
36 |
| -PATTERN(Tuple, Pattern) |
37 |
| -PATTERN(Named, Pattern) |
38 |
| -PATTERN(Any, Pattern) |
39 |
| -PATTERN(Typed, Pattern) |
40 |
| -PATTERN(Var, Pattern) |
41 |
| -REFUTABLE_PATTERN(Is, Pattern) |
42 |
| -REFUTABLE_PATTERN(EnumElement, Pattern) |
43 |
| -REFUTABLE_PATTERN(OptionalSome, Pattern) |
44 |
| -REFUTABLE_PATTERN(Bool, Pattern) |
45 |
| -REFUTABLE_PATTERN(Expr, Pattern) |
| 35 | +// Metavars: x (variable), pat (pattern), e (expression) |
| 36 | +PATTERN(Paren, Pattern) // (pat) |
| 37 | +PATTERN(Tuple, Pattern) // (pat1, ..., patN), N >= 1 |
| 38 | +PATTERN(Named, Pattern) // let pat, var pat |
| 39 | +PATTERN(Any, Pattern) // _ |
| 40 | +PATTERN(Typed, Pattern) // pat : type |
| 41 | +PATTERN(Var, Pattern) // x |
| 42 | +REFUTABLE_PATTERN(Is, Pattern) // x is myclass |
| 43 | +REFUTABLE_PATTERN(EnumElement, Pattern) // .mycase(pat1, ..., patN) |
| 44 | + // MyType.mycase(pat1, ..., patN) |
| 45 | +REFUTABLE_PATTERN(OptionalSome, Pattern) // pat? nil |
| 46 | +REFUTABLE_PATTERN(Bool, Pattern) // true, false |
| 47 | +REFUTABLE_PATTERN(Expr, Pattern) // e |
46 | 48 | LAST_PATTERN(Expr)
|
47 | 49 |
|
48 | 50 | #undef REFUTABLE_PATTERN
|
|
0 commit comments