私が最近メインで使うプログラミング言語は、JavaScript。ブラウザ上で、サーバー上で、ちょっとしたパソコン上での計算に、整備したライブラリ(ESモジュール)をサクサク使い回せるので、使うほどに便利になります。
プログラミング初心者にもこの楽しさを伝えるために、もうちょっと改良できるともっといいかもと夢見ています。そんな中、ステキな記事をTwitterで発見。
100行で書く俺様プログラミング言語コンパイラAltJS編 http://t.co/he1ljqJN3E 近年流行りのjavascriptで俺言語を作るためのパーサライブラリParsect の解説
— boxheadroom🍑💉🍑💉🍑💉 (@boxheadroom) October 4, 2013
字句解析、構文解析をシンプルにこなしてくれるライブラリ、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言語、求む、チャレンジャー!
自分のお気に入りの言語を見つけよう!見つからなければ、創ろう!