Show page source of はじめに #52537

= はじめに
MKSCriptは、オブジェクト指向をサポートする軽量なスクリプト言語です。

以下のような特徴があります。[[BR]]
''斜体''は未実装項目です。

  * インタプリタ言語
    * スクリプトを書いたらすぐに実行できます。
  * 移植性
    * MKSCriptは、様々なシステム向けに容易に移植できるよう設計を行っています。
      * 以下の条件をみたすシステムであれば、ターゲット向けにリコンパイルするだけで動作すると思われます。
        * 32bit/64bit環境である
        * ANSI-Cに準拠したCコンパイラが提供されている
        * C言語ライブラリのmallocが返却するメモリアドレスは、少なくとも4バイト境界に揃えられている
        * 8バイトの浮動小数型が使用可能である(今後オプション化する予定)
      * 開発時の動作検証は以下の環境で行っています。
        * WindowsXP/Vista Cygwin gcc(32bit)
        * WindowsXP/Vista Visual C++ 2008 Express Edition(32bit)
        * Fedora12-x86 gcc(32bit)
        * Fedora12-x64 gcc(64bit)
  * わかりやすい文法
    * 他の言語も参考にし、なるべくなじみやすい文法ルールにしています。
  * オブジェクト指向のサポート
    * クラス、継承、''ポリモフィズム''、''カプセル化(MKSCriptでは制約条件と呼びます)''といった基本的なオブジェクト指向の仕組みが使えます。
    * 構造化例外処理もサポートしています。
  * パラメータ付きノードオブジェクト
    * 単一の式、ブロック構造(制御構造)をパラメータ付きで宣言し、あとからパラメータを与え、起動することができます。
{{{
例
# 変数 a に、『引数x,yを与えると"x*10+y"の結果を返す式』を代入します。
a = |x,y|{ x * 10 + y }

# a( 1, 2 )の結果を画面に出力します。
# a( 1, 2 )は、1 * 10 + 2 と解釈されます。
Console << a(1,2) << "\n"
# => 12
}}}
  * ''変数への制約条件''
    * ''変数にはアクセス制約のほかに、型制約をつけることができます。''
    * ''これにより、たとえば 数値しか代入できない変数、特定クラスしか代入できない変数なども作成できます。''