Skip to content
This repository has been archived by the owner on Nov 14, 2023. It is now read-only.

WasmVM/wass

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wass

WebAssembly assembler for WasmVM

Quick start

Prerequisites

  • CMake
  • git
  • pthread

Build

git submodule update --init --recursive
mkdir build
cd build && cmake ..
make

Run

TODO:

Test

cd build
ctest

Design

Assembling process

Remove comments

Feature:

  • Match single-line comment
  • Match block-comment
  • Ignore non-comment characters

Error:

  • Unmatched block-end parentheses
    • ParseError

Parse module

Feature:

  • Match parentheses-wrapped block
  • Match block name
  • Match identifiers
  • Match string literal
  • Match integer literal
  • Match floating-point literal
  • Build syntax tree according to each module

Error:

Several ParseErrors

Compose module

Feature:

  • Merge sections into one instance
  • Analyze semantics and compose to WasmModule

Error:

Several SemanticErrors

[Later] Validate module

Feature:

  • Validate WasmModule according to official validation algorithm

Error:

Several ModuleErrors

Code generate

Feature:

  • Generate WebAssembly binary code from WasmModule

Misc

File IO

  • Read file
  • Write file

Command-line

  • Option parser

Test

Unit test

  • Using gtest

Regression

  • Generated from WasmVM/testsuite
  • Remove return, trap, exhaustion
  • Remove invalid, unlinkable until validation being developed in the future

About

WebAssembly assembler for WasmVM

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages