2022-08-13
JavaScriptを生成するプログラミング言語の総称、AltJS(オルト・ジェーエス)の一つ、BanchaScriptを整備して、緯度経度精度の新表現、Geo3x3を移植しました!

私が最近メインで使うプログラミング言語は、JavaScript。ブラウザ上で、サーバー上で、ちょっとしたパソコン上での計算に、整備したライブラリ(ESモジュール)をサクサク使い回せるので、使うほどに便利になります。

プログラミング初心者にもこの楽しさを伝えるために、もうちょっと改良できるともっといいかもと夢見ています。そんな中、ステキな記事をTwitterで発見。

字句解析、構文解析をシンプルにこなしてくれるライブラリ、Parsect。HaskellのParsecのJavaScript/TypeScript移植とのこと。使いこなせれば夢早期実現なるかも?


「Parsect: Parser Combinator for TypeScript」
forked kontan/Parsect
ひとまずforkし、今風のJavaScript開発では必須のESモジュール化。Denoで使えるようになりました。


「BanchaScript」
forked kontan/Parsect
Parsectを使ったサンプルとして実装されていた「BanchaScript」がなかなか楽しいプログラミング言語だったので、forkして独立させ、簡単に使えるようにしました。

使い方は簡単。下記のように hello.bancha プログラムを保存して・・・

function log(s) { native "console.log(s)"; } log("Hello BanchaScript!");

JavaScriptのランタイム、Denoを使って、即実行!

deno run -A https://taisukef.github.io/BanchaScript/banchac.js hello.bancha

Denoのinstallコマンドを使うと・・・

deno install -A https://taisukef.github.io/BanchaScript/bancha.js

banchaコマンドでより簡単に!

bancha hello.bancha

気軽にプログラミング言語、創れますね!


「Geo3x3.bancha」

演算子を優先順位や前置後置レベルで定義できるのがおもしろい! デフォルトでは何も定義されてないので、定義する必要があるw


「Geo3x3.bancha」

JavaScriptで使いたい関数は、native を付けて定義。あとは自然に書けます。


「Geo3x3 - a simple geocode system for WGS84」

88言語目としてBanchaScriptをサポート!目指せ100言語、求む、チャレンジャー

自分のお気に入りの言語を見つけよう!見つからなければ、創ろう!

links
- 100行で書く俺様プログラミング言語コンパイラAltJS編 - Qiita

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS