カテゴリー
プログラミング言語

EndBASIC – Rustで書かれたBASICインタプリタ+環境

フリオ・メリノさん(Julio Merino)によるBASIC処理系プロジェクト EndBASICは、新たに書き起こされたBASICインタプリタに、MS-DOS風のコマンドラインを組み合わせたBASIC言語の処理系です。

EndBASIC サイトトップ

BASIC としての文法や機能は、Amstrad CPC という1980年代の8bitパソコンで動いたLocomotive BASICや、マイクロソフトのQuickBASIC を意識したものとなっているそう。

Linux/MacOS/Windows のバイナリをダウンロードして手元で動かすこともできますが、ブラウザ上でも動く環境が公開されています。

Rust で書かれた処理系が WebAssembly で動いているということで、昔からあるBASIC 言語を最新の技術と組み合わせているんですね。QuickBASIC で書かれたプログラムを少し直してウェブで公開、なんてことにも使えるかもしれません。

環境にはCUIエディタも内蔵されており、編集したファイルは環境内に保存することもできます。フラットに保存しファイル名で区別。ディレクトリについては今後の実装を検討ということ。また「ドライブ」を複数作ることができるのでドライブでの整理もできそうです。

EndBASIC のサンプルコード

BASIC言語ではよくある行番号機能は、GO TO 命令と共に省かれています。そのうち実装するかもということですが、分岐とループ命令でおおかたは問題ないかと思います。

面白いのはクラウド対応機能で、ユーザー登録するとユーザー名以下に置いたファイルを他ユーザーと共有できるようになります。

Raspberry PI で動かした時はGPIOにアクセスできる命令が提供されていて、ボタンやLEDなどの入出力が使えるそう。これも教育用としてよさそう。

今はプログラミングに入門する時の言語も多数候補がありますが、昔は入門言語といえばBASICが主流ということもありました。プロジェクトでは、プログラムとプログラムを動かす環境が最小限でセットになっていることで、セットアップの苦労なしにプログラミングの学習ができるようにすることを目指しているそう。

via Hacker News

カテゴリー
ネットのサービス

BBC Micro bot – ツイッターで走るBASICインタプリタ

@bbcmicrobot に対して、BBC BASIC のソースコードをつぶやくと、

エミュレーターで実行して結果をアニメーションGIFで表示してくれるという bot が登場してます。

BBC BASIC というのは、1980年代にイギリスで教育用に開発された BBC Micro というパーソナルコンピューターに搭載されていた BASIC 言語だということです。

この @bbcmicrobot 、@dominicpajak さんの手によるもので、BBC とは何の関係もない非公式のアカウントだそうです。

Twitter API からリプライを取得し、Node.js 上で BBC Micro のエミュレータである JSbeeb BBC Micro emulator を呼び出してコードを実行、20秒後に画面をアニメーションGIF化してTwitter API でリプライする、という仕組みだそうです。

早速、いろいろなコードが投げつけられ、いろいろと懐かしい感じのアウトプットが並んでいます

書かれている BBC BASIC のコードを見た限り、N-BASIC とかそのあたりと大きく違う感じはなさそうです。オンラインの言語マニュアルもあるので、試してみたい方はどうぞ

via Hacker News