All Projects → GoogleChromeLabs → wasmbin

GoogleChromeLabs / wasmbin

Licence: Apache-2.0 license
A self-generating WebAssembly parser & serializer in Rust.

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to wasmbin

Mini Yaml
Single header YAML 1.0 C++11 serializer/deserializer.
Stars: ✭ 79 (+97.5%)
Mutual labels:  serialization, parsing, serializer
Symfony Jsonapi
JSON API Transformer Bundle for Symfony 2 and Symfony 3
Stars: ✭ 114 (+185%)
Mutual labels:  serialization, serializer
Hprose Delphi
Hprose is a cross-language RPC. This project is Hprose 2.0 for Delphi and FreePascal
Stars: ✭ 100 (+150%)
Mutual labels:  serialization, serializer
sexp-grammar
Invertible parsing for S-expressions
Stars: ✭ 28 (-30%)
Mutual labels:  serialization, parsing
Dictfier
Python library to convert/serialize class instances(Objects) both flat and nested into a dictionary data structure. It's very useful in converting Python Objects into JSON format
Stars: ✭ 67 (+67.5%)
Mutual labels:  serialization, serializer
Go
A high-performance 100% compatible drop-in replacement of "encoding/json"
Stars: ✭ 10,248 (+25520%)
Mutual labels:  serialization, serializer
Swiftmsgpack
💬 Fast & Lightweight MsgPack Serializer & Deserializer for Swift
Stars: ✭ 128 (+220%)
Mutual labels:  serialization, serializer
Serializer Pack
A Symfony Pack for Symfony Serializer
Stars: ✭ 1,068 (+2570%)
Mutual labels:  serialization, serializer
Flatsharp
Fast, idiomatic C# implementation of Flatbuffers
Stars: ✭ 133 (+232.5%)
Mutual labels:  serialization, serializer
Hprose Php
Hprose is a cross-language RPC. This project is Hprose 3.0 for PHP
Stars: ✭ 1,952 (+4780%)
Mutual labels:  serialization, serializer
Binaryserializer
A declarative serialization framework for controlling formatting of data at the byte and bit level using field bindings, converters, and code.
Stars: ✭ 197 (+392.5%)
Mutual labels:  serialization, serializer
Hprose Golang
Hprose is a cross-language RPC. This project is Hprose for Golang.
Stars: ✭ 1,143 (+2757.5%)
Mutual labels:  serialization, serializer
Hyperion
Polymorphic serialization for .NET
Stars: ✭ 225 (+462.5%)
Mutual labels:  serialization, serializer
Java
jsoniter (json-iterator) is fast and flexible JSON parser available in Java and Go
Stars: ✭ 1,308 (+3170%)
Mutual labels:  serialization, serializer
Core
🌎 Utility package containing tools for byte manipulation, Codable, OS APIs, and debugging.
Stars: ✭ 62 (+55%)
Mutual labels:  serialization, parsing
Lora Serialization
LoraWAN serialization/deserialization library for The Things Network
Stars: ✭ 120 (+200%)
Mutual labels:  serialization, serializer
Firely Net Sdk
The official Firely .NET SDK for HL7 FHIR
Stars: ✭ 560 (+1300%)
Mutual labels:  serialization, parsing
Eminim
JSON serialization framework for Nim, works from a Stream directly to any type and back. Depends only on stdlib.
Stars: ✭ 32 (-20%)
Mutual labels:  serialization, serializer
Hprose Js
Hprose is a cross-language RPC. This project is Hprose 2.0 RPC for JavaScript
Stars: ✭ 133 (+232.5%)
Mutual labels:  serialization, serializer
Home
A configurable and eXtensible Xml serializer for .NET.
Stars: ✭ 208 (+420%)
Mutual labels:  serialization, serializer

wasmbin

wasmbin is a library implementing parsing and serialization WebAssembly binaries.

Announcement blog post: https://rreverser.com/wasmbin-yet-another-webassembly-parser-serializer/

Public API: https://docs.rs/wasmbin/latest/wasmbin/module/struct.Module.html

TL;DR

This crate intends to provide a low-level representation of the WebAssembly module that is fully described by Rust type system rather than smart accessors. It also leverages the said type system in conjunction with custom proc-macros functionality to autogenerate parsing/serialization/visitation code for any complex types (structures and enums).

On the user's side this approach allows any type can be used independently to represent/parse/serialize only part of the module, while on the maintainers' side it trivialises adding and testing new WebAssembly features, boiling such changes down to addition of new fields and variants, without having to add custom implementations too.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].