diff options
Diffstat (limited to 'stdlib/source/documentation/lux/data')
25 files changed, 131 insertions, 74 deletions
diff --git a/stdlib/source/documentation/lux/data/binary.lux b/stdlib/source/documentation/lux/data/binary.lux index 61395234c..09f2b8b87 100644 --- a/stdlib/source/documentation/lux/data/binary.lux +++ b/stdlib/source/documentation/lux/data/binary.lux @@ -4,13 +4,112 @@ ["$" documentation] [data [text (.only \n) - ["%" \\format (.only format)]]] - [macro - ["[0]" template]]]] + ["%" \\format (.only format)]]]]] ["[0]" \\format] + ["[0]" \\parser] [\\library ["[0]" /]]) +(`` (.def \\parser + (.List $.Module) + ($.module \\parser._ + "" + [($.default \\parser.binary_was_not_fully_read) + ($.default \\parser.size_8) + ($.default \\parser.size_16) + ($.default \\parser.size_32) + ($.default \\parser.size_64) + ($.default \\parser.bits_8) + ($.default \\parser.bits_16) + ($.default \\parser.bits_32) + ($.default \\parser.bits_64) + ($.default \\parser.nat) + ($.default \\parser.int) + ($.default \\parser.rev) + ($.default \\parser.frac) + ($.default \\parser.invalid_tag) + ($.default \\parser.or) + ($.default \\parser.not_a_bit) + ($.default \\parser.bit) + ($.default \\parser.text) + ($.default \\parser.maybe) + ($.default \\parser.set_elements_are_not_unique) + ($.default \\parser.symbol) + ($.default \\parser.type) + ($.default \\parser.location) + ($.default \\parser.code) + + ($.documentation \\parser.Offset + "An offset for reading within binary data.") + + ($.documentation (\\parser.Parser it) + "A parser for raw binary data.") + + ($.documentation \\parser.result + "Runs a parser and checks that all the binary data was read by it." + [(result parser input)]) + + ($.documentation \\parser.end? + "Checks whether there is no more data to read.") + + ($.documentation \\parser.offset + "The current offset (i.e. how much data has been read).") + + ($.documentation \\parser.remaining + "How much of the data remains to be read.") + + ($.documentation \\parser.Size + "The size of a chunk of data within a binary array.") + + ($.documentation \\parser.rec + "Tie the knot for a recursive parser.") + + ($.documentation \\parser.any + "Does no parsing, and just returns a dummy value.") + + ($.documentation \\parser.segment + "Parses a chunk of data of a given size." + [(segment size)]) + + (,, (with_template [<size> <name>] + [($.documentation <name> + (format "Parses a block of data prefixed with a size that is " (%.nat <size>) " bytes long."))] + + [08 \\parser.binary_8] + [16 \\parser.binary_16] + [32 \\parser.binary_32] + [64 \\parser.binary_64] + )) + + (,, (with_template [<size> <name>] + [($.documentation <name> + (format "Parses a block of (UTF-8 encoded) text prefixed with a size that is " (%.nat <size>) " bytes long."))] + + [08 \\parser.utf8_8] + [16 \\parser.utf8_16] + [32 \\parser.utf8_32] + [64 \\parser.utf8_64] + )) + + (,, (with_template [<size> <name>] + [($.documentation <name> + (format "Parses a sequence of values prefixed with a size that is " (%.nat <size>) " bytes long."))] + + [08 \\parser.sequence_8] + [16 \\parser.sequence_16] + [32 \\parser.sequence_32] + [64 \\parser.sequence_64] + )) + + ($.documentation \\parser.list + "Parses an arbitrarily long list of values." + [(list value)]) + + ($.documentation \\parser.set + "" + [(set hash value)])] + []))) + (.def \\format (.List $.Module) ($.module \\format._ @@ -147,4 +246,5 @@ ($.documentation /.after "Yields a binary BLOB with at most the specified number of bytes removed." [(after bytes binary)])] - [..\\format])) + [..\\format + ..\\parser])) diff --git a/stdlib/source/documentation/lux/data/bit.lux b/stdlib/source/documentation/lux/data/bit.lux index 43d64ae46..25b1262d2 100644 --- a/stdlib/source/documentation/lux/data/bit.lux +++ b/stdlib/source/documentation/lux/data/bit.lux @@ -4,9 +4,7 @@ ["$" documentation] [data [text (.only \n) - ["%" \\format (.only format)]]] - [macro - ["[0]" template]]]] + ["%" \\format (.only format)]]]]] [\\library ["[0]" /]]) diff --git a/stdlib/source/documentation/lux/data/collection/array.lux b/stdlib/source/documentation/lux/data/collection/array.lux index 29416d649..c4ce92a7a 100644 --- a/stdlib/source/documentation/lux/data/collection/array.lux +++ b/stdlib/source/documentation/lux/data/collection/array.lux @@ -5,8 +5,6 @@ [data ["[0]" text (.only \n) ["%" \\format (.only format)]]] - [macro - ["[0]" template]] [meta ["[0]" code]]]] [\\library diff --git a/stdlib/source/documentation/lux/data/collection/dictionary/ordered.lux b/stdlib/source/documentation/lux/data/collection/dictionary/ordered.lux index 74381c580..64f18f260 100644 --- a/stdlib/source/documentation/lux/data/collection/dictionary/ordered.lux +++ b/stdlib/source/documentation/lux/data/collection/dictionary/ordered.lux @@ -5,8 +5,9 @@ [data [text ["%" \\format (.only format)]]] - [macro - ["[0]" template]]]] + [meta + [macro + ["[0]" template]]]]] [\\library ["[0]" /]]) diff --git a/stdlib/source/documentation/lux/data/collection/set.lux b/stdlib/source/documentation/lux/data/collection/set.lux index b3a16c70c..37024e63b 100644 --- a/stdlib/source/documentation/lux/data/collection/set.lux +++ b/stdlib/source/documentation/lux/data/collection/set.lux @@ -4,9 +4,7 @@ ["$" documentation] [data ["[0]" text (.only \n) - ["%" \\format (.only format)]]] - [macro - ["[0]" template]]]] + ["%" \\format (.only format)]]]]] [\\library ["[0]" /]] ["[0]" / diff --git a/stdlib/source/documentation/lux/data/collection/set/multi.lux b/stdlib/source/documentation/lux/data/collection/set/multi.lux index 8c494a583..d6d0947dc 100644 --- a/stdlib/source/documentation/lux/data/collection/set/multi.lux +++ b/stdlib/source/documentation/lux/data/collection/set/multi.lux @@ -4,9 +4,7 @@ ["$" documentation] [data ["[0]" text (.only \n) - ["%" \\format (.only format)]]] - [macro - ["[0]" template]]]] + ["%" \\format (.only format)]]]]] [\\library ["[0]" /]]) diff --git a/stdlib/source/documentation/lux/data/collection/set/ordered.lux b/stdlib/source/documentation/lux/data/collection/set/ordered.lux index ac34d2f5d..0b8dba28e 100644 --- a/stdlib/source/documentation/lux/data/collection/set/ordered.lux +++ b/stdlib/source/documentation/lux/data/collection/set/ordered.lux @@ -4,9 +4,7 @@ ["$" documentation] [data ["[0]" text (.only \n) - ["%" \\format (.only format)]]] - [macro - ["[0]" template]]]] + ["%" \\format (.only format)]]]]] [\\library ["[0]" /]]) diff --git a/stdlib/source/documentation/lux/data/collection/stack.lux b/stdlib/source/documentation/lux/data/collection/stack.lux index e05e774c2..defa3f836 100644 --- a/stdlib/source/documentation/lux/data/collection/stack.lux +++ b/stdlib/source/documentation/lux/data/collection/stack.lux @@ -4,9 +4,7 @@ ["$" documentation] [data ["[0]" text (.only \n) - ["%" \\format (.only format)]]] - [macro - ["[0]" template]]]] + ["%" \\format (.only format)]]]]] [\\library ["[0]" /]]) diff --git a/stdlib/source/documentation/lux/data/collection/tree.lux b/stdlib/source/documentation/lux/data/collection/tree.lux index 91324bbcf..f0d165a5b 100644 --- a/stdlib/source/documentation/lux/data/collection/tree.lux +++ b/stdlib/source/documentation/lux/data/collection/tree.lux @@ -4,9 +4,7 @@ ["$" documentation] [data ["[0]" text (.only \n) - ["%" \\format (.only format)]]] - [macro - ["[0]" template]]]] + ["%" \\format (.only format)]]]]] [\\library ["[0]" /]] ["[0]" / diff --git a/stdlib/source/documentation/lux/data/collection/tree/finger.lux b/stdlib/source/documentation/lux/data/collection/tree/finger.lux index 7386f313e..fe0488db4 100644 --- a/stdlib/source/documentation/lux/data/collection/tree/finger.lux +++ b/stdlib/source/documentation/lux/data/collection/tree/finger.lux @@ -4,9 +4,7 @@ ["$" documentation] [data ["[0]" text (.only \n) - ["%" \\format (.only format)]]] - [macro - ["[0]" template]]]] + ["%" \\format (.only format)]]]]] [\\library ["[0]" /]]) diff --git a/stdlib/source/documentation/lux/data/collection/tree/zipper.lux b/stdlib/source/documentation/lux/data/collection/tree/zipper.lux index 76fb1602c..317fd95ac 100644 --- a/stdlib/source/documentation/lux/data/collection/tree/zipper.lux +++ b/stdlib/source/documentation/lux/data/collection/tree/zipper.lux @@ -4,9 +4,7 @@ ["$" documentation] [data ["[0]" text (.only \n) - ["%" \\format (.only format)]]] - [macro - ["[0]" template]]]] + ["%" \\format (.only format)]]]]] [\\library ["[0]" /]]) diff --git a/stdlib/source/documentation/lux/data/color.lux b/stdlib/source/documentation/lux/data/color.lux index c76cf4c45..20ef0c572 100644 --- a/stdlib/source/documentation/lux/data/color.lux +++ b/stdlib/source/documentation/lux/data/color.lux @@ -5,12 +5,12 @@ [data ["[0]" text (.only \n) ["%" \\format (.only format)]]] - [macro - [syntax (.only syntax)] - ["[0]" template]] [meta ["[0]" code (.only) - ["<[1]>" \\parser]]]]] + ["<[1]>" \\parser]] + [macro + [syntax (.only syntax)] + ["[0]" template]]]]] [\\library ["[0]" /]] ["[0]" / diff --git a/stdlib/source/documentation/lux/data/format/json.lux b/stdlib/source/documentation/lux/data/format/json.lux index ccf18365e..25026ef6f 100644 --- a/stdlib/source/documentation/lux/data/format/json.lux +++ b/stdlib/source/documentation/lux/data/format/json.lux @@ -4,9 +4,7 @@ ["$" documentation] [data [text (.only \n) - ["%" \\format (.only format)]]] - [macro - ["[0]" template]]]] + ["%" \\format (.only format)]]]]] [\\library ["[0]" /]]) diff --git a/stdlib/source/documentation/lux/data/format/tar.lux b/stdlib/source/documentation/lux/data/format/tar.lux index 353d83876..f31c3dc68 100644 --- a/stdlib/source/documentation/lux/data/format/tar.lux +++ b/stdlib/source/documentation/lux/data/format/tar.lux @@ -4,9 +4,7 @@ ["$" documentation] [data [text (.only \n) - ["%" \\format (.only format)]]] - [macro - ["[0]" template]]]] + ["%" \\format (.only format)]]]]] [\\library ["[0]" /]]) diff --git a/stdlib/source/documentation/lux/data/format/xml.lux b/stdlib/source/documentation/lux/data/format/xml.lux index 002f24eff..d49299af6 100644 --- a/stdlib/source/documentation/lux/data/format/xml.lux +++ b/stdlib/source/documentation/lux/data/format/xml.lux @@ -4,9 +4,7 @@ ["$" documentation] [data [text (.only \n) - ["%" \\format (.only format)]]] - [macro - ["[0]" template]]]] + ["%" \\format (.only format)]]]]] [\\library ["[0]" /]]) diff --git a/stdlib/source/documentation/lux/data/identity.lux b/stdlib/source/documentation/lux/data/identity.lux index efb6520f5..e1d42389e 100644 --- a/stdlib/source/documentation/lux/data/identity.lux +++ b/stdlib/source/documentation/lux/data/identity.lux @@ -4,9 +4,7 @@ ["$" documentation] [data [text (.only \n) - ["%" \\format (.only format)]]] - [macro - ["[0]" template]]]] + ["%" \\format (.only format)]]]]] [\\library ["[0]" /]]) diff --git a/stdlib/source/documentation/lux/data/product.lux b/stdlib/source/documentation/lux/data/product.lux index 6a2921eab..7275ad4ee 100644 --- a/stdlib/source/documentation/lux/data/product.lux +++ b/stdlib/source/documentation/lux/data/product.lux @@ -4,9 +4,7 @@ ["$" documentation] [data [text - ["%" \\format (.only format)]]] - [macro - ["[0]" template]]]] + ["%" \\format (.only format)]]]]] [\\library ["[0]" /]]) diff --git a/stdlib/source/documentation/lux/data/sum.lux b/stdlib/source/documentation/lux/data/sum.lux index cf4df8be5..2bd740509 100644 --- a/stdlib/source/documentation/lux/data/sum.lux +++ b/stdlib/source/documentation/lux/data/sum.lux @@ -4,9 +4,7 @@ ["$" documentation] [data [text (.only \n) - ["%" \\format (.only format)]]] - [macro - ["[0]" template]]]] + ["%" \\format (.only format)]]]]] [\\library ["[0]" /]]) diff --git a/stdlib/source/documentation/lux/data/text/buffer.lux b/stdlib/source/documentation/lux/data/text/buffer.lux index a510bebab..9f64dd787 100644 --- a/stdlib/source/documentation/lux/data/text/buffer.lux +++ b/stdlib/source/documentation/lux/data/text/buffer.lux @@ -4,9 +4,7 @@ ["$" documentation] [data [text (.only \n) - ["%" \\format (.only format)]]] - [macro - ["[0]" template]]]] + ["%" \\format (.only format)]]]]] [\\library ["[0]" /]]) diff --git a/stdlib/source/documentation/lux/data/text/encoding.lux b/stdlib/source/documentation/lux/data/text/encoding.lux index 42b3ff87e..471b5970e 100644 --- a/stdlib/source/documentation/lux/data/text/encoding.lux +++ b/stdlib/source/documentation/lux/data/text/encoding.lux @@ -4,9 +4,7 @@ ["$" documentation] [data [text (.only \n) - ["%" \\format (.only format)]]] - [macro - ["[0]" template]]]] + ["%" \\format (.only format)]]]]] [\\library ["[0]" /]] ["[0]" / diff --git a/stdlib/source/documentation/lux/data/text/encoding/utf8.lux b/stdlib/source/documentation/lux/data/text/encoding/utf8.lux index 0ad760263..eaa712caf 100644 --- a/stdlib/source/documentation/lux/data/text/encoding/utf8.lux +++ b/stdlib/source/documentation/lux/data/text/encoding/utf8.lux @@ -4,9 +4,7 @@ ["$" documentation] [data [text (.only \n) - ["%" \\format (.only format)]]] - [macro - ["[0]" template]]]] + ["%" \\format (.only format)]]]]] [\\library ["[0]" /]]) diff --git a/stdlib/source/documentation/lux/data/text/escape.lux b/stdlib/source/documentation/lux/data/text/escape.lux index 3a62c1349..aa0ec4015 100644 --- a/stdlib/source/documentation/lux/data/text/escape.lux +++ b/stdlib/source/documentation/lux/data/text/escape.lux @@ -4,9 +4,7 @@ ["$" documentation] [data [text (.only \n) - ["%" \\format (.only format)]]] - [macro - ["[0]" template]]]] + ["%" \\format (.only format)]]]]] [\\library ["[0]" /]]) diff --git a/stdlib/source/documentation/lux/data/text/regex.lux b/stdlib/source/documentation/lux/data/text/regex.lux index 540acb1fe..fef504012 100644 --- a/stdlib/source/documentation/lux/data/text/regex.lux +++ b/stdlib/source/documentation/lux/data/text/regex.lux @@ -4,9 +4,7 @@ ["$" documentation] [data [text (.only \n) - ["%" \\format (.only format)]]] - [macro - ["[0]" template]]]] + ["%" \\format (.only format)]]]]] [\\library ["[0]" /]]) diff --git a/stdlib/source/documentation/lux/data/text/unicode/block.lux b/stdlib/source/documentation/lux/data/text/unicode/block.lux index 2021ce0d1..d23c6815d 100644 --- a/stdlib/source/documentation/lux/data/text/unicode/block.lux +++ b/stdlib/source/documentation/lux/data/text/unicode/block.lux @@ -5,8 +5,6 @@ [data ["[0]" text (.only) ["%" \\format (.only format)]]] - [macro - ["[0]" template]] [math [number ["[0]" nat (.use "hex#[0]" hex)]]]]] diff --git a/stdlib/source/documentation/lux/data/text/unicode/set.lux b/stdlib/source/documentation/lux/data/text/unicode/set.lux index 80f96be50..1e637cf5e 100644 --- a/stdlib/source/documentation/lux/data/text/unicode/set.lux +++ b/stdlib/source/documentation/lux/data/text/unicode/set.lux @@ -4,9 +4,7 @@ ["$" documentation] [data [text - ["%" \\format (.only format)]]] - [macro - ["[0]" template]]]] + ["%" \\format (.only format)]]]]] [\\library ["[0]" /]]) |