====== Xtal Reference ====== Xtalの非公式リファレンスです。 組み込みに関しては詳しくないので、[[embedding|組み込みチュートリアル]]をご覧ください。 ===== Notes ===== Xtalは構造上、ほぼ全てのクラスがAny, Baseを継承しており、全ての継承メソッドを記述するとあまりに同じような記述を繰り返すこととなり、視認性を悪化させることが想定されました。 しかし、それらで定義されているメソッドに関しては、継承先でもそれなりの直行性が維持されています。そのため、特筆すべきことが無い場合は省かせていただきました。 それ以外の継承関係に関しては、なるべく継承元のメソッドも列挙するようにしてあります。 ===== Functions ===== ==== Xtal処理系の設定・初期化・終了処理など ==== |[[reference:initialize]]| Xtal実行環境を作成、初期化する| |[[reference:uninitialize]]| 現在のXtal実行環境を破棄する| |[[reference:gc]]| GCを実行する| |[[reference:full_gc]]| 循環参照も検知するGCを実行する| |[[reference:disable_gc]]| GCを無効化する| |[[reference:enable_gc]]| GCを有効化する| |[[reference:set_require_source_hook]]| require_sourceで呼ばれるフック関数を設定する| ==== Xtalプログラムの実行 ==== |[[reference:compile]]| 文字列をコンパイルしバイトコードを返す| |[[reference:compile_file]]| ファイルをコンパイルしバイトコードを返す???| |[[reference:eval_compile]]| eval用にコンパイルしてバイトコードを返す| |[[reference:eval]]| | |[[reference:load]]| ファイルをコンパイルして実行する| |[[reference:require_source]]| Xtalファイルを要求してバイトコードを返す| |[[reference:require]]| Xtalファイルを要求して実行する| |[[reference:source]]| ???| |[[reference:exec_source]]| ソースを実行する???| |[[reference:compiled_source]]| ???| |[[reference:exec_compiled_source]]| ???| ==== デバッグ(namespace debug) ==== |[[reference:debug:enable]]| デバッグ機能を有効にする| |[[reference:debug:disable]]| デバッグ機能を無効にする| |[[reference:debug:enable_force]]| デバッグ機能を強制的に有効にする| |[[reference:debug:disable_force]]| デバッグ機能を強制的に無効にする| |[[reference:debug:is_enabled]]| デバッグ機能が有効かどうか| |[[reference:debug:set_line_hook]]| 一行ごとに呼び出されるフック関数の登録| |[[reference:debug:set_call_hook]]| 関数呼出しごとに呼び出されるフック関数の登録| |[[reference:debug:set_return_hook]]| 関数から抜けるごとに呼び出されるフック関数の登録| |[[reference:debug:set_throw_hook]]| 例外がthrowされるごとに呼び出されるフック関数の登録| |[[reference:debug:set_assert_hook]]| assert失敗ごとに呼び出されるフック関数の登録| |[[reference:debug:line_hook]]| 一行ごとに呼び出されるフック関数| |[[reference:debug:call_hook]]| 関数呼出しごとに呼び出されるフック関数| |[[reference:debug:return_hook]]| 関数から抜けるごとに呼び出されるフック関数| |[[reference:debug:throw_hook]]| 例外がthrowされるごとに呼び出されるフック関数| |[[assert_hook]]| assert失敗ごとに呼び出されるフック関数| ==== ファイル操作(namespace filesystem) ==== |[[reference:filesystem:open]]| ファイルを開く| |[[reference:filesystem:is_directory]]| 指定パスがディレクトリか否か| |[[reference:filesystem:entries]]| 指定ディレクトリのエントリを列挙するイテレータを返す| ==== 組み込み数学関連(namespace math) ==== [[:faq#数学関数使いたい|使い方]] |acos| arccos(float)| |asin| arcsin(float)| |atan| arctan(float)| |atan2| arctan2(float)| |ceil| ceil(float)| |cos| cos(float)| |exp| exp(float)| |floor| floor(float)| |log| log(float)| |pow| pow(float, float)| |sin| sin(float)| |sqrt| sqrt(float)| |tan| tan(float)| |abs| abs(int), abs(float)| |max| max(int, int), max(float, float)| |min| min(int, int), min(float, float)| |random| random()| |random_range| random_range(float, float)| |PI| const float PI| |E| const float E(ネイピア数)| ===== Classes/Structs ===== ==== Xtalの基礎クラス ==== |[[reference:Any]]| 全ての基底クラス| |[[reference:SmartPtr]]| 参照カウンタ管理のスマートポインタ| |[[reference:AnyPtr]]| SmartPtrの特殊化| |[[reference:RefCountingBase]]| | |[[reference:Base]]| | |[[reference:HaveParentBase]]| | |[[reference:HaveParentRefCountingBase]]| | ==== 頻繁に使う組み込み型 ==== |[[reference:Null]]| ヌル| null| |[[reference:Undefined]]| 未定義| undefined| |[[reference:Int]]| 整数| 0 1| |[[reference:Float]]| 浮動小数点数| 0.0 1.0f| |[[reference:Bool]]| 真偽| true false| |[[reference:String]]| 文字列| "some string"| |[[reference:Array]]| 可変長配列| [0, 1, 2]| |[[reference:Map]]| 連想配列| ["tag1":0, 2:1]| |[[reference:Fun]]| 関数| fun(){}| |[[reference:Method]]| メソッド| method(){}| |[[reference:Fiber]]| ファイバー| fiber(){}| |[[reference:Values]]| 多値| (0, 1)| |[[reference:Lambda]]| ラムダ| %%|%% %%|%% | |[[reference:Iterator]]| イテレータの便利メソッド提供| .each or {}| |[[reference:Iterable]]| イテレート可能| | |[[reference:Class]]| クラス| class Hoge{}| ==== 組み込み型 ==== |[[reference:Set]]| セット| |[[reference:Text]]| | |[[reference:Thread]]| ネイティブスレッド| |[[reference:Mutex]]| ミューテックス| |[[reference:Stream]]| ストリームの基底クラス| |[[reference:MemoryStream]]| メモリストリーム(書き込み可能)| |[[reference:PointerStream]]| ポインタストリーム(書き込み不能)| |[[reference:StringStream]]| 文字列ストリーム(書き込み不能)| |[[reference:FileStream]]| ファイルストリーム(書き込み可能)| |[[reference:CompressEncoder]]| 圧縮ストリーム(書き込み専用)| |[[reference:CompressDecoder]]| 展開ストリーム(読み込み専用)| |[[reference:StdinStream]]| | |[[reference:StdoutStream]]| | |[[reference:StderrStream]]| | |[[reference:Lib]]| Lib| |[[reference:Global]]| グローバル| |[[reference:Exception]]| 例外| |[[reference:Range]]| 区間| |[[reference:IntRange]]| 整数区間| |[[reference:FloatRange]]| 浮動小数点数区間| |[[reference:ChRange]]| 文字区間| |[[reference:Frame]]| フレーム| |[[reference:Arguments]]| 引数| ===== Macros ===== ==== xtal_macro.h ==== |[[reference:Xfor]]| foreach| |[[reference:Xfor2]]| foreach| |[[reference:Xfor3]]| foreach| |[[reference:Xfor_cast]]| foreach| |[[reference:Xt]]| Text簡易記述| |[[reference:Xf]]| Format簡易記述| |[[reference:Xsrc]]| Xtalソース簡易記述| |[[reference:Xemb]]| Xtalソース簡易記述| |[[reference:Xid]]| インターン化文字列簡易記述| |[[reference:Xid2]]| インターン化文字列簡易記述| |[[reference:Xs]]| 文字列リテラル| ==== xtal_anyptr.h ==== |[[reference:XTAL_PREBIND]]| 継承構造やコンストラクタのバインド| |[[reference:XTAL_BIND]]| ネイティブメンバのバインド| |[[reference:XTAL_BIND2]]| | |[[reference:XTAL_PREBIND_ALIAS]]| 別名でPREBIND| |[[reference:XTAL_BIND_ALIAS]]| 別名でBIND| ==== xtal_bind.h ==== |[[reference:Xdef_method]]| メンバ関数のメソッドへのバインド| |[[reference:Xdef_fun]]| 関数のクラスメソッドへのバインド| |[[reference:Xdef_getter]]| getterをバインド| |[[reference:Xdef_setter]]| setterをバインド| |[[reference:Xdef_var]]| getter/setterをバインド| |[[reference:Xparam]]| デフォルト引数を設定| |[[reference:Xdef]]| AnyPtrをバインド| |[[reference:Xdef2]]| AnyPtrをセカンダリキーとともにバインド| |[[reference:Xdef_const]]| クラス定数をバインド| |[[reference:Xdef_ctor]]| 0-13引数のコンストラクタをバインド| ===== XPEG(namespace xpeg) ===== Xtal PEG です。 正規表現の代わりに入っています。使う際は以下も参照してください。 * [[http://d.hatena.ne.jp/xtalco/searchdiary?word=peg&type=detail]] * xtal/test/test_xpeg.xtal ==== Classes ==== |[[reference:xpeg:Executor]]| | |[[reference:xpeg:Element]]| | ==== Functions ==== |[[reference:xpeg:set]]| | |[[reference:xpeg:call]]| | |[[reference:xpeg:select]]| | |[[reference:xpeg:concat]]| | |[[reference:xpeg:lookahead]]| | |[[reference:xpeg:lookbehind]]| | |[[reference:xpeg:cap]]| | |[[reference:xpeg:node]]| | |[[reference:xpeg:splice_node]]| | |[[reference:xpeg:leaf]]| | |[[reference:xpeg:leafs]]| | |[[reference:xpeg:back_ref]]| | |[[reference:xpeg:decl]]| 再帰的定義をするときに用いる| |[[reference:xpeg:bound]]| | |[[reference:xpeg:error]]| | |[[reference:xpeg:pred]]| | ==== Elements ==== 以下は、eol以外は1文字を表します。 |[[reference:xpeg:any]]| とにかく1文字| |[[reference:xpeg:bos]]| begin of stream| |[[reference:xpeg:eos]]| end of stream| |[[reference:xpeg:bol]]| begin of line| |[[reference:xpeg:eol]]| end of line| |[[reference:xpeg:empty]]| 空文字| |degit| 数字| |lalpha| 小文字のみのアルファベット| |ualpha| 大文字のみのアルファベット| |alpha| アルファベット| |word| 語(alpha or degit or _)|