gwr/parser

Values

pub fn do_parse_instructions_until(
  reader: byte_reader.ByteReader,
  predicate: fn(spec.Instruction) -> Bool,
  accumulator: List(spec.Instruction),
) -> Result(
  #(byte_reader.ByteReader, List(spec.Instruction)),
  parsing_error.ParsingError,
)
pub const function_index_id: Int

parser/module_parser


pub const global_index_id: Int
pub fn is_value_type(data: BitArray) -> Bool
pub const memory_index_id: Int
pub fn parse_function_type(
  from reader: byte_reader.ByteReader,
) -> Result(
  #(byte_reader.ByteReader, spec.FunctionType),
  parsing_error.ParsingError,
)

Decodes a bit array into a FunctionType. The FunctionType bit array begins with 0x60 byte id and follows with 2 vectors, each containing an arbitrary amount of 1-byte ValueType(s). The first vector represents the list of parameter types of the function, while the second vector represents the list of result types returned by the function.

pub fn parse_instruction(
  from reader: byte_reader.ByteReader,
) -> Result(
  #(byte_reader.ByteReader, spec.Instruction),
  parsing_error.ParsingError,
)

parser/instruction_parser


pub fn parse_instructions_until(
  from reader: byte_reader.ByteReader,
  with predicate: fn(spec.Instruction) -> Bool,
) -> Result(
  #(byte_reader.ByteReader, List(spec.Instruction)),
  parsing_error.ParsingError,
)
pub fn parse_locals_declaration(
  from reader: byte_reader.ByteReader,
) -> Result(
  #(byte_reader.ByteReader, spec.LocalsDeclaration),
  parsing_error.ParsingError,
)

parser/binary_parser


pub fn parse_name(
  from reader: byte_reader.ByteReader,
) -> Result(
  #(byte_reader.ByteReader, String),
  parsing_error.ParsingError,
)
pub fn parse_signed_leb128_integer(
  from reader: byte_reader.ByteReader,
) -> Result(
  #(byte_reader.ByteReader, Int),
  parsing_error.ParsingError,
)
pub fn parse_uninterpreted_leb128_integer(
  from reader: byte_reader.ByteReader,
) -> Result(
  #(byte_reader.ByteReader, Int),
  parsing_error.ParsingError,
)
pub fn parse_unsigned_leb128_integer(
  from reader: byte_reader.ByteReader,
) -> Result(
  #(byte_reader.ByteReader, Int),
  parsing_error.ParsingError,
)

parser/value_parser


pub fn parse_value_type(
  from reader: byte_reader.ByteReader,
) -> Result(
  #(byte_reader.ByteReader, spec.ValueType),
  parsing_error.ParsingError,
)

parser/types_parser


pub fn parse_vector(
  from reader: byte_reader.ByteReader,
  with parse_element: fn(byte_reader.ByteReader) -> Result(
    #(byte_reader.ByteReader, a),
    parsing_error.ParsingError,
  ),
) -> Result(
  #(byte_reader.ByteReader, List(a)),
  parsing_error.ParsingError,
)

parser/convention_parser


pub const table_index_id: Int
Search Document