diff options
Diffstat (limited to 'stdlib/source/library/lux/tool/compiler/language/lux.lux')
-rw-r--r-- | stdlib/source/library/lux/tool/compiler/language/lux.lux | 36 |
1 files changed, 25 insertions, 11 deletions
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux.lux b/stdlib/source/library/lux/tool/compiler/language/lux.lux index faf7f3b90..d5b883eed 100644 --- a/stdlib/source/library/lux/tool/compiler/language/lux.lux +++ b/stdlib/source/library/lux/tool/compiler/language/lux.lux @@ -3,7 +3,7 @@ [lux "*" [control ["<>" parser - ["<b>" binary {"+" Parser}]]] + ["<[0]>" binary {"+" Parser}]]] [data [format ["_" binary {"+" Writer}]]] @@ -55,18 +55,32 @@ (def: .public parser (Parser .Module) (let [definition (: (Parser Definition) - ($_ <>.and <b>.bit <b>.type <b>.any)) + ($_ <>.and + <binary>.bit + <binary>.type + <binary>.any)) labels (: (Parser [Text (List Text)]) - (<>.and <b>.text (<b>.list <b>.text))) + ($_ <>.and + <binary>.text + (<binary>.list <binary>.text))) global_type (: (Parser [Bit Type (Either [Text (List Text)] [Text (List Text)])]) - ($_ <>.and <b>.bit <b>.type (<b>.or labels labels))) + ($_ <>.and + <binary>.bit + <binary>.type + (<binary>.or labels labels))) global_label (: (Parser .Label) - ($_ <>.and <b>.bit <b>.type (<b>.list <b>.text) <b>.nat)) + ($_ <>.and + <binary>.bit + <binary>.type + (<binary>.list <binary>.text) + <binary>.nat)) alias (: (Parser Alias) - (<>.and <b>.text <b>.text)) + ($_ <>.and + <binary>.text + <binary>.text)) global (: (Parser Global) - ($_ <b>.or + ($_ <binary>.or definition global_type global_label @@ -74,13 +88,13 @@ alias))] ($_ <>.and ... #module_hash - <b>.nat + <binary>.nat ... #module_aliases - (<b>.list alias) + (<binary>.list alias) ... #definitions - (<b>.list (<>.and <b>.text global)) + (<binary>.list (<>.and <binary>.text global)) ... #imports - (<b>.list <b>.text) + (<binary>.list <binary>.text) ... #module_state (# <>.monad in {.#Cached})))) |