|
|
|
@ -173,8 +173,8 @@ literal = _{ null | boolean | number | string}
|
|
|
|
|
// schema
|
|
|
|
|
|
|
|
|
|
schema_clause = { (schema_put | schema_retract) ~ compound_ident ~ (simple_schema_def | nested_schema_def) }
|
|
|
|
|
schema_put = {"put"}
|
|
|
|
|
schema_retract = {"retract"}
|
|
|
|
|
schema_put = {":put"}
|
|
|
|
|
schema_retract = {":retract"}
|
|
|
|
|
simple_schema_def = {":" ~ ident+ ~ ";"?}
|
|
|
|
|
nested_schema_def = {"{" ~ (nested_schema_clause ~ ",")* ~ nested_schema_clause? ~ "}" ~ ";"?}
|
|
|
|
|
nested_schema_clause = {compound_ident ~ ":" ~ ident+}
|
|
|
|
@ -182,9 +182,9 @@ nested_schema_clause = {compound_ident ~ ":" ~ ident+}
|
|
|
|
|
// tx
|
|
|
|
|
|
|
|
|
|
tx_clause = { (tx_put | tx_retract_all | tx_retract )? ~ ("@" ~ expr)? ~ tx_map ~ ";"? }
|
|
|
|
|
tx_put = {"put"}
|
|
|
|
|
tx_retract = {"retract"}
|
|
|
|
|
tx_retract_all = {"retract_all"}
|
|
|
|
|
tx_put = {":put"}
|
|
|
|
|
tx_retract = {":retract"}
|
|
|
|
|
tx_retract_all = {":retract_all"}
|
|
|
|
|
tx_map = {"{" ~ (tx_pair ~ ",")* ~ tx_pair? ~ "}"}
|
|
|
|
|
tx_pair = {tx_ident ~ ":" ~ (tx_list | tx_map | expr )}
|
|
|
|
|
tx_list = {"[" ~ ((expr | tx_map) ~ ",")* ~ (expr | tx_map)? ~ "]"}
|
|
|
|
|