Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev. Learn more →
Wabt Alternatives
Similar projects and alternatives to wabt
-
zig
General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
-
Revelo Payroll
Free Global Payroll designed for tech teams. Building a great tech team takes more than a paycheck. Zero payroll costs, get AI-driven insights to retain best talent, and delight them with amazing local benefits. 100% free and compliant.
-
-
perspective
A data visualization and analytics component, especially well-suited for large and/or streaming datasets.
-
-
-
SonarCloud
Analyze your C and C++ projects with just one click.. SonarCloud, a cloud-based static analysis tool for your CI/CD workflows, offers a one-click automatic analysis of C and C++ projects hosted on GitHub. Zero configuration and free for open-source projects! Analyze free.
-
-
-
-
-
libsql
libSQL is a fork of SQLite that is both Open Source, and Open Contributions.
-
-
-
-
-
linguist
Language Savant. If your repository's language is being reported incorrectly, send us a pull request!
-
wasm-bindgen
Facilitating high-level interactions between Wasm modules and JavaScript
-
esphome
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
-
-
InfluxDB
Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.
wabt reviews and mentions
-
WebAssembly: byte-code of the future
The .wat file can be compiled to a .wasm using wat2wasm which is part of the WebAssembly Toolkit CLI tools:
- DeviceScript: TypeScript for Tiny IoT Devices
-
Hey Rustaceans! Got a question? Ask here (5/2023)!
I'm trying to get a basic Rust webassembly program, then porting it to C via wasm2c. The example works, but when I use wasm-bindgen and analyze it with wasm2wat, I get an import "env". The issue is that in C (wasm2c) it comes out as struct Z_env_instance_t; and I can't instantiate it (as in Z_env_instance_t env; to pass it's address to Z_wasm_client_bg_instantiate.
-
Would rewriting a JS library in WASM(Rust) provide sufficient obfuscation?
There are wasm2c and wasmdec that decompile to C. There is also rewasm, which decompiles WASM to Rust. But I don't know if they can reconstruct non-trivial logic, e.g. shapes of structures.
-
rust to c complication?
https://github.com/WebAssembly/wabt/tree/main/wasm2c (WebAssembly to C)
-
SQLite: QEMU All over Again?
> a single-file distribution literally won't be possible
Actually.
You could compile the Rust into Wasm, then the Wasm into C.
Firefox did this last year [1], so the tools exist and it's neither totally impossible nor totally stupid.
It _would_ result in some overhead, but not as much as running Wasm through a JIT.
wasm2c is the tool they apparently used in 2021. [2]
[1] https://hacks.mozilla.org/2021/12/webassembly-and-back-again...
[2] https://github.com/WebAssembly/wabt/tree/main/wasm2c
> wasm2c takes a WebAssembly module and produces an equivalent C source and header.
-
Isolates, MicroVMs, and WebAssembly (In 2022)
> - A way way better tooling story.
I think this is a real paint point of WebAssembly but it's getting better. You can now compile C/C++ code to WASM using clang as it became a first class citizen in v8 (or later?). Of course, clang does not provide all the runtime goodies that emscripten does but if you limit yourself to use WASM for some part of your code that require performance then all you need to provide is a few Javascript glue code. For prototyping purposes I've bundle an npm package that bring clang to your frontend project without the need to install it through a package [0].
Chrome debugger now support WASM [1] but you still need to install an extension. I've started to work on a way to convert the DWARF symbols from the WASM binary into sourcemap on the fly [2][3] but it still rough around the edge and need some work but it can definitely be done. This would allow WASM debugging natively in any browser supporting sourcemaps.
You also have all the WASM binary tools that you would find for any other kind of executable format in WABT [4].
[0]: https://www.npmjs.com/package/@jdmichaud/wasm-toolkit
[1]: https://developer.chrome.com/blog/wasm-debugging-2020/
[2]: https://github.com/jdmichaud/dwarf-2-sourcemap
[3]: http://site.novidee.com/blog/blog-entry.html?article=2022082...
-
making a wat to wasm compiler from scratch as a pet project and decided to throw it on youtube
You ended up close to correct. It's the WebAssembly text format, as opposed to the binary format. The formal spec is here. The rasm github repo however, is not the source code, but rather the project that I made for the video. This repo is widely used for wasm tooling, has a strong community around it, and already does what rasm does in a tool called wat2wasm, probably in a much more performant manner. I'm just kindof reimplementing from scratch and recording it for myself and others to learn.
-
What are the advantages or disadvantages of compiling to VM Bytecode vs native machine code?
I think a good target would be to generate WebAssembly text format and use WABT.
-
Zaplib post-mortem
Although I do wonder if something like wasm2c from the webassembly binary toolkit is good enough that this isn't really true. Like if wasm2c/wasm2wat/similar are good enough to be to wasm what de-obfuscators & prettier are to obfuscated JS.
-
A note from our sponsor - Onboard AI
getonboard.dev | 1 Oct 2023
Stats
WebAssembly/wabt is an open source project licensed under Apache License 2.0 which is an OSI approved license.
The primary programming language of wabt is C++.