Upgrade to Pro — share decks privately, control downloads, hide ads and more …

dewasm - WebAssembly to Source Code translator

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

dewasm - WebAssembly to Source Code translator

Avatar for TSUYUSATO Kitsune

TSUYUSATO Kitsune

August 26, 2026

More Decks by TSUYUSATO Kitsune

Other Decks in Programming

Transcript

  1. dewasm-mermanの使用例 require "dewasm/merman" svg = Dewasm::Merman.render_svg(<<~MMD) flowchart LR A[Commit] -->

    B{CI passes?} B -->|Yes| C[Merge] B -->|No| D[Fix] D --> A MMD Yes CI passes? Commit File.write("flowchart.svg", svg) render̲svg を呼び出すだけでMermaidの図の描画できます 14 Merge No Fix
  2. dewasm-mermanの使用例 svg = Dewasm::Merman.render_svg(<<~MERMAID) railroad-ebnf-beta expr = term , {

    "+" , term } ; term = factor , { "*" , factor } ; factor = number | "(" , expr , ")" ; MERMAID expr = term term = factor + term * factor number factor = ( railroad図の描画もサポートしてます 15 expr )
  3. dewasm-mermanの使用例 puts Dewasm::Merman.render_ascii(<<~MERMAID) flowchart LR A[Start] --> B[Done] MERMAID ┌───────┐

    ┌──────┐ │ │ │ │ │ Start ├────►│ Done │ │ │ │ │ └───────┘ └──────┘ テキストによる描画も可能 16
  4. ruby.wasm on Ruby もできるよ $ dewasm ruby.wasm --target ruby --mode

    standalone -o ruby.rb $ ruby ruby.rb --disable=gems -e 'puts "hello world"' hello world 5秒くらいかかる! 29