2 unstable releases

0.2.0 Jul 27, 2024
0.1.4 May 28, 2024

#280 in WebAssembly

Download history 102/week @ 2024-07-22 34/week @ 2024-07-29 17/week @ 2024-09-16 7/week @ 2024-09-23 2/week @ 2024-09-30

101 downloads per month

Custom license

205KB
5K SLoC

日本語プログラミング言語「なでしこv3」(Rust実装版)

このプロジェクトは、日本語プログラミング言語「なでしこ3」をプログラミング言語Rustで再実装するプロジェクトです。 オリジナルの「なでしこ3」はJavaScriptで実装されています。

言語コアとWASM版のクレート

WASM版では、言語コアを参照しています。

  • nadesiko3 ... なでしこ3の言語コアのクレート
  • nadesiko3rust ... WASM版のクレート

WASM版のビルド方法

Rustをインストールした上で、以下のコマンドを実行するとビルドできます。

# wasm-packのインストール
cargo install wasm-pack

# リポジトリを取得
git clone https://github.com/kujirahand/nadesiko3rust.git
cd nadesiko3rust/wasm
wasm-pack build --target web

なでしこ3(RUST版)を利用する方法

下記のようなHTMLを作成します。

<!DOCTYPE html><html lang="ja"><head><meta charset="UTF-8">
    <title>なでしこ3Rustテスト</title>
    <script type="module">
        import init, { nako_eval_str, nako_eval_getlogs }
            from './pkg/nadesiko3rust.js';
            // from 'https://cdn.jsdelivr.net/npm/nadesiko3rust@0.2.0/nadesiko3rust.js';
        async function runWasm() {
            await init(); // WASM モジュールを初期化
            // Rustで定義された関数を呼び出す
            const greeting = nako_eval_getlogs("「こんにちは、なでしこ3です。」と表示。");
            console.log(greeting); // コンソールに出力
        }
        runWasm().catch(console.error);
        // Rustから送出される表示ログなどを処理するハンドラ(必須)
        window.nako3_handler = (name, arg) => {
            console.log(name, arg);
            return arg;
        }
    </script>
</head><body></body></html>

Dependencies

~0.7–1.3MB
~27K SLoC