Crates.io | nadesiko3rust |
lib.rs | nadesiko3rust |
version | 0.2.0 |
source | src |
created_at | 2024-05-28 14:43:23.199332 |
updated_at | 2024-07-27 12:16:25.795947 |
description | Japanese programming language Nadesiko v3 for WASM |
homepage | https://nadesi.com |
repository | https://github.com/kujirahand/nadesiko3rust |
max_upload_size | |
id | 1254459 |
size | 11,313 |
このプロジェクトは、日本語プログラミング言語「なでしこ3」をプログラミング言語Rustで再実装するプロジェクトです。 オリジナルの「なでしこ3」はJavaScriptで実装されています。
WASM版では、言語コアを参照しています。
nadesiko3
... なでしこ3の言語コアのクレートnadesiko3rust
... WASM版のクレートRustをインストールした上で、以下のコマンドを実行するとビルドできます。
# wasm-packのインストール
cargo install wasm-pack
# リポジトリを取得
git clone https://github.com/kujirahand/nadesiko3rust.git
cd nadesiko3rust/wasm
wasm-pack build --target web
下記のような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>