Xtal Reference

Xtalの非公式リファレンスです。

組み込みに関しては詳しくないので、組み込みチュートリアルをご覧ください。

Notes

Xtalは構造上、ほぼ全てのクラスがAny, Baseを継承しており、全ての継承メソッドを記述するとあまりに同じような記述を繰り返すこととなり、視認性を悪化させることが想定されました。

しかし、それらで定義されているメソッドに関しては、継承先でもそれなりの直行性が維持されています。そのため、特筆すべきことが無い場合は省かせていただきました。

それ以外の継承関係に関しては、なるべく継承元のメソッドも列挙するようにしてあります。

Functions

Xtal処理系の設定・初期化・終了処理など

initialize Xtal実行環境を作成、初期化する
uninitialize 現在のXtal実行環境を破棄する
gc GCを実行する
full_gc 循環参照も検知するGCを実行する
disable_gc GCを無効化する
enable_gc GCを有効化する
set_require_source_hook require_sourceで呼ばれるフック関数を設定する

Xtalプログラムの実行

compile 文字列をコンパイルしバイトコードを返す
compile_file ファイルをコンパイルしバイトコードを返す???
eval_compile eval用にコンパイルしてバイトコードを返す
eval
load ファイルをコンパイルして実行する
require_source Xtalファイルを要求してバイトコードを返す
require Xtalファイルを要求して実行する
source ???
exec_source ソースを実行する???
compiled_source ???
exec_compiled_source ???

デバッグ(namespace debug)

enable デバッグ機能を有効にする
disable デバッグ機能を無効にする
enable_force デバッグ機能を強制的に有効にする
disable_force デバッグ機能を強制的に無効にする
is_enabled デバッグ機能が有効かどうか
set_line_hook 一行ごとに呼び出されるフック関数の登録
set_call_hook 関数呼出しごとに呼び出されるフック関数の登録
set_return_hook 関数から抜けるごとに呼び出されるフック関数の登録
set_throw_hook 例外がthrowされるごとに呼び出されるフック関数の登録
set_assert_hook assert失敗ごとに呼び出されるフック関数の登録
line_hook 一行ごとに呼び出されるフック関数
call_hook 関数呼出しごとに呼び出されるフック関数
return_hook 関数から抜けるごとに呼び出されるフック関数
throw_hook 例外がthrowされるごとに呼び出されるフック関数
assert_hook assert失敗ごとに呼び出されるフック関数

ファイル操作(namespace filesystem)

open ファイルを開く
is_directory 指定パスがディレクトリか否か
entries 指定ディレクトリのエントリを列挙するイテレータを返す

組み込み数学関連(namespace math)

使い方

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の基礎クラス

Any 全ての基底クラス
SmartPtr 参照カウンタ管理のスマートポインタ
AnyPtr SmartPtr<Any>の特殊化
RefCountingBase
Base
HaveParentBase
HaveParentRefCountingBase

頻繁に使う組み込み型

Null ヌル null
Undefined 未定義 undefined
Int 整数 0 1
Float 浮動小数点数 0.0 1.0f
Bool 真偽 true false
String 文字列 “some string”
Array 可変長配列 [0, 1, 2]
Map 連想配列 [“tag1”:0, 2:1]
Fun 関数 fun(){}
Method メソッド method(){}
Fiber ファイバー fiber(){}
Values 多値 (0, 1)
Lambda ラムダ | |
Iterator イテレータの便利メソッド提供 .each or {}
Iterable イテレート可能
Class クラス class Hoge{}

組み込み型

Set セット
Text
Thread ネイティブスレッド
Mutex ミューテックス
Stream ストリームの基底クラス
MemoryStream メモリストリーム(書き込み可能)
PointerStream ポインタストリーム(書き込み不能)
StringStream 文字列ストリーム(書き込み不能)
FileStream ファイルストリーム(書き込み可能)
CompressEncoder 圧縮ストリーム(書き込み専用)
CompressDecoder 展開ストリーム(読み込み専用)
StdinStream
StdoutStream
StderrStream
Lib Lib
Global グローバル
Exception 例外
Range 区間
IntRange 整数区間
FloatRange 浮動小数点数区間
ChRange 文字区間
Frame フレーム
Arguments 引数

Macros

xtal_macro.h

Xfor foreach
Xfor2 foreach
Xfor3 foreach
Xfor_cast foreach
Xt Text簡易記述
Xf Format簡易記述
Xsrc Xtalソース簡易記述
Xemb Xtalソース簡易記述
Xid インターン化文字列簡易記述
Xid2 インターン化文字列簡易記述
Xs 文字列リテラル

xtal_anyptr.h

XTAL_PREBIND 継承構造やコンストラクタのバインド
XTAL_BIND ネイティブメンバのバインド
XTAL_BIND2
XTAL_PREBIND_ALIAS 別名でPREBIND
XTAL_BIND_ALIAS 別名でBIND

xtal_bind.h

Xdef_method メンバ関数のメソッドへのバインド
Xdef_fun 関数のクラスメソッドへのバインド
Xdef_getter getterをバインド
Xdef_setter setterをバインド
Xdef_var getter/setterをバインド
Xparam デフォルト引数を設定
Xdef AnyPtrをバインド
Xdef2 AnyPtrをセカンダリキーとともにバインド
Xdef_const クラス定数をバインド
Xdef_ctor 0-13引数のコンストラクタをバインド

XPEG(namespace xpeg)

Xtal PEG です。

正規表現の代わりに入っています。使う際は以下も参照してください。

Classes

Functions

Elements

以下は、eol以外は1文字を表します。

any とにかく1文字
bos begin of stream
eos end of stream
bol begin of line
eol end of line
empty 空文字
degit 数字
lalpha 小文字のみのアルファベット
ualpha 大文字のみのアルファベット
alpha アルファベット
word 語(alpha or degit or _)
reference.txt · 最終更新: 2012/09/30 20:12 by sukai
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0