syntax Node = Key=Reference sm NodeContent; | |
syntax NodeContent = "{" outline_begin_before inl NodeMembers nl d outline_end "}"; | |
syntax NodeMember | |
{ | |
| Attribute = Key=Reference sm ":" sm Value | |
| Node = Node | |
} | |
syntax Value | |
{ | |
| StringLiteral | |
| Number | |
| Object = NodeContent; | |
| Array = "[" outline_begin_before Values outline_end "]"; | |
} | |
// ---------------------- | |
abstract ast NodeMember : BindableAst | |
{ | |
Key : Reference; | |
} | |
ast Node : NodeMember | |
{ | |
NodeMembers : NodeMember*; | |
} | |
ast Attribute : NodeMember | |
{ | |
Val : Value; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment