咏唱语法
ui! { … } 宏接受的每一种形态。六纲:
- 上下文契约:
:( … :)上下文头,每段咒文皆以此起手。 - 部件节点:语言的核心,具名或位置属性、括号可省、body 可省。
- 附魔:
[expr, expr, …]方括号块,把任意数据挂到部件上。 - 控制流:
if、walk … with …、@niche、match。 on事件咒符:事件子句的两种形态(B 与 C)、带体或回调、限定或裸名、有参或无参。- 被拒形态:parser 拒收的形态及理由。
DSL 在 parse 期不带类型。部件名是任意 ident,属性值是任意 syn::Expr。一切语义,何为「部件」、哪些属性算合法、某个事件名指什么,皆系于你绑的符文师,不在 xrune 自身。