Programing > 日本語っぽいプログラミング言語 そら豆スクリプト(SoraMame Script)
__
そら豆スクリプト(SoraMame Script)は、自分で考えて自分で作りたい人のための、日本語っぽいプログラミング言語です。
今のところ、Webブラウザでグラフィックデザインやゲームを簡単に制作することを目指しています。
入力したコードは、ビジュアルデザイン用のプログラミング言語Processing.jsに変換して実行します(SoraMame.ps.js)。
そして、Processing.jsは、コードをJavascriptに変換して実行します。
以下、随時更新。
クイックスタート †
動物シミュレーション †
とりあえず、どんなものが作られているか
実際にためしてみてください。
次のリンクをクリックして、「うごかす」ボタンをクリックするだけ。
最新バージョンのWebブラウザを使っていれば、動くと思います。
プログラムは、こんな感じ †
そら豆スクリプトで、マウスの位置にマルを描くプログラムは、こんな感じになります。
//マウスの位置にマルを描く
---初期設定する{
{幅:250, 高さ:250}のサイズ
}
---くり返し描画する{
{x:@マウスX, y:@マウスY}に{幅:50, 高さ:50}のマル
}
下記のリンク先で「うごかす」ボタンを押したら、マウスを左側のエリアにもっていくと・・・
マウスの動きに合わせて、マルが描けました。
次は、下から2番目の行で、右はしの「マル」を「シカク」に変えて、「うごかす」ボタンを押してみると・・・
{x:@マウスX, y:@マウスY}に{幅:50, 高さ:50}のシカク
マウスの動きに合わせて、シカクが描けました。
ほかにも、いくつかサンプルプログラムを用意しているので、ぜひ試してみてください。
おもしろそうと思ったら、次の入門記事を読んでみてください。
主な内容 †
対象ユーザー †
- プログラミングの初学者
- 趣味・副業でプログラミングする人
- 必要にかられて、たまにプログラミングする人
期待できる導入効果 †
あるいはプロジェクトの目標
- 学習コストが低く、覚えるのに比較的手間がかからない
- コード可読性が高く、読めば動作が何となく分かる
- 現実的な利用範囲で、実際に使えるものが作れる
- クリエイターとプログラマの共同作業を容易にする
- 特定用途プログラミング言語(DSL)としてJavascriptと連携。
- (日本語形式のプログラミング言語で、コーディング規約を文書化する)
特徴 †
- 日本語っぽいコードをProcessing.jsに変換
- Webブラウザだけで開発/実行できる
- オブジェクト指向をサポート
- Processing/Processing.jsに変換でき、Arudinoなど様々な用途に展開(できたらいいな)
- Javascriptと連携でき、ほかのWebサービスに接続可能
- 関数に名前付き引数を採用
- (区切り語の用例をルール化)
- (見本文をエディタで簡単に挿入できる)
動作環境 †
- HTML5とJavascriptが動作するWebブラウザ
- Firefox、GoogleChorme、 Opera、Safari
- IE9でも動きます。
- Windows, Mac, Androidで動作確認しています。
- iPhoneでも、動いています。
ライセンス †
MITライセンス
ドキュメント類は、クリエイティブ・コモンズで提供
使い方 †
SoraMame Scriptの使い方を説明します。
とりあえず、試すには †
フォームにコードを入れて、「うごかす」ボタンをクリックします。
ダウンロード †
そら豆スクリプトは、Web版を直接ためすこともできますが、ローカルにダウンロードすることもできます。
- [[Downloads:https://github.com/ycatch/SoraMame.ps.js/]にアクセス
- 「ZIP」ボタンをクリックして、ファイルをダウンロード
- ダウンロードしたファイルを解凍
起動するには、「SoraMame_Script.html」ファイルをダブルクリックします。
チュートリアル †
リファレンス †
サンプルプログラム集 †
コラム †
開発 †
ソースコード †
作っている人 †
課題 †
既知の不具合 †
「もどる」命令が動作しない
- 関数の第一引数に数式を書くとシンタックスエラーになる場合がある
{x:@i*1, y:@i}に{幅:30, 高さ:30}のマル
- 多数のShift/Reduce Conflictがある。演算記号に複数の用途がある場合(+, +=とか)におきている模様
- 命令文を句点「。」で区切ると、動作がおかしい
機能に関する要望 †
- 変換済みのpjsファイルを保存できるようにする。
オブジェクト操作についての記法に、日本語っぽさが足らない。
- オブジェクトの代入元に、New文を書けない。
- Processing.jsのコードを直接呼び出す表記
- Processing.jsのキーワード名を直接呼び出す表記
- 単項演算子「++」「--」。これがあれば、くりかえし命令のイディオムが書ける。
- GUIによるプログラミングエディタ
- 編集ファイルの読み込み
- 編集ファイルの保存
- 定型文の挿入(重要)
- Blockyみたいなドラッグ&ドロップによる編集
- そのほか
ドキュメント(リファレンス、チュートリアル、サンプル)の充実
ブロックコメント文
Webページとデモページの見栄えをかっこよく
- 命令文の充実
- 型変換
- オブジェクト継承、継承先のメソッド・プロパティ名を変換する方法
- 3Dデモが、特定の環境(OpenGL? いいグラフィックカード?)でしか動かない。WebGL対応のはずなのに。
ドキュメントの改善 †
文法マニュアルに、コマンドの追加方法を記載
- コマンドリファレンスに、すべての命令が記載されていない
- チュートリアルが、機能においついていない(保存機能とか)
- チュートリアルが、書きかけ(半分くらい)
内部構造/開発体制の改善 †
- テストの自動化
- 識別子(変数名、関数名、データ型名)などをローマ字ふりがなに自動変換。変換後のコードの可読性を高める。
開発履歴 †
参考:スクリプト言語を作るための資料 †