[][src]Module binjs::io

Language-agnostic and representation-agnostic primitives for tokenization and detokenization of ASTs, including (de)compression.

Weakly-typed constructs (using a dynamic language specification and a JSON AST) based on these primitives are in module generic::io. Strongly-typed constructs (using a strongly-typed AST) based on these primitives will appear in modules specialized::*::io.

Modules

binjs_json

A format for generating invalid file, to test decoder implementation.

bytes

Byte-level utilities for writing token readers/writers. Tools for manipulating byte-level data.

context

An encoding using per-context Huffman tables. Encoding/decoding based on Huffman tables.

entropy

An encoding using entropy coding. A format based on Entropy coding

escaped_wtf8
io

Definition of TokenReader/TokenWriter traits. Mid-level API used to write individual components of an AST tree to a stream of tokens.

multipart

An optimization of TokenReader/TokenWriter, designed to minimize the size of the file. A multipart format, in which each part can be compressed independently.

simple

A simple implementation of TokenReader/TokenWriter, designed specifically to help debug implementations of grammar encoders/decoders. Minimal implementation of encoding/decoding to binary. Used for testing purposes. Not meant to be included in release builds.

xml

A trivial exporter to xml.

Macros

for_field_in_per_static

A macro used to generate code that will operate on all fields of a PerStaticKind.

for_field_in_user_extensible

A macro used to generate code that will operate on all fields of a PerUserExtensibleKind.

print_file_structure

Prints the structural interpretation of the data read after the last time this macro is called.

Structs

CompressionTarget

Instructions for a single section (grammar, strings, tree, ...)

TokenWriterTreeAdapter

Enums

Compression

The compression mechanisms supported by this encoder. They are designed to match HTTP's Accept-Encoding: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding

DictionaryPlacement

A strategy for placing the dictionary.

Format

All the formats available for encoding/decoding.

TokenReaderError
TokenWriterError

Traits

Deserialization
FileStructurePrinter

An API for printing the binary representation and its structural interpretation of the file.

FormatProvider

Command-line management for a format

InnerDeserialization
RootedTokenSerializer
Serialization
TokenReader

An API for reading tokens.

TokenSerializer
TokenSerializerFamily
TokenWriter

Build an in-memory representation of a BinTree.

TokenWriterWithTree

Type Definitions

Path