Skip to content

Silica/PSL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PSL is Script Language

PSL is Embeddable Script Language for C++

C系構文のスクリプト言語
速度はそれなりですが、軽くて必要な機能が揃っていて拡張性が高いです

組み込みスクリプト言語
C++からPSLの関数を呼び出したり
PSLからC++の関数を呼び出したり出来ます
C++側のコードを極めて簡単に書けるのが特徴

includeするだけで使えるよ!
BCC(古い)とVC(ちょっと前)とgcc(新しい)とclang(微妙)でコンパイル確認済み
WindowsでもLinuxでも使えます

・C系構文
・動的型っぽいようなそうでもない様な
・宣言無しっぽいようなそうでもない様な
・基本データ型は、整数、符号無し16進数、浮動小数点数、文字列
・配列、連想配列、ジャグ配列
・参照型
・クラスっぽいもの(静的な継承構文とカプセル化の概念が無い)
・関数はファーストクラスオブジェクト
・型もファーストクラスオブジェクトなので動的にジェネリックっぽいことが出来る
・動的ダックタイピング
・クロージャ
・コルーチン
・多重代入
・参照カウントによる自動的なスクリプト変数の管理
・手動でマークアンドスウィープGCを呼べる
・スクリプト変数を表すC++クラスであるvariable型を利用した、本体とスクリプト間のシンプルでシームレスな値のやりとり
・C関数やC++クラスを簡単にスクリプトに渡せるバインダ
・コンパイルしたバイトコードの保存、読み込み、実行

詳しい解説はwikiにて
https://github.com/Silica/PSL/wiki/
またはWindows用バイナリと共にメモ的なtxtがあります
https://skydrive.live.com/?cid=85BB9456A2A8D41D&id=85BB9456A2A8D41D!1939

STG01はPSLを組み込みスクリプトとして活用したサンプルゲームです
C++コードの一部も公開しています
https://skydrive.live.com/?cid=85BB9456A2A8D41D&id=85BB9456A2A8D41D!1934

ライセンスはzlib/libpng Licenseです
ただ使うだけなら好きに使っていいです
改変版を公開したい場合は改変した旨と、元のライセンスを表示する必要がありますが
ライセンス条項はソース内に直接書いてありますのでそこを削除しなければ特に気にする必要はありません
ライセンスの適用範囲はPSLディレクトリ内のヘッダファイルのみです