nadesiko3rust

Crates.ionadesiko3rust
lib.rsnadesiko3rust
version0.2.0
sourcesrc
created_at2024-05-28 14:43:23.199332
updated_at2024-07-27 12:16:25.795947
descriptionJapanese programming language Nadesiko v3 for WASM
homepagehttps://nadesi.com
repositoryhttps://github.com/kujirahand/nadesiko3rust
max_upload_size
id1254459
size11,313
kujirahand (kujirahand)

documentation

https://docs.rs/nadesiko3

README

日本語プログラミング言語「なでしこ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>
Commit count: 95

cargo fmt