30 lines
317 B
Elm
30 lines
317 B
Elm
|
|
Statement {
|
|
Enum(Enum)
|
|
Node(Node)
|
|
}
|
|
|
|
Enum(name: Name, nodes: Node[])
|
|
|
|
Node(name: Name, params: Param[])
|
|
|
|
Param {
|
|
Named(name: Name, type_: Type)
|
|
Unnamed(Type)
|
|
}
|
|
|
|
Type {
|
|
Name(Name)
|
|
Optional(Type)
|
|
Multiple(Type)
|
|
}
|
|
|
|
Name(
|
|
string,
|
|
line: number,
|
|
col: number,
|
|
)
|
|
|
|
// vim: syntax=elm
|
|
|