NewtFns.h

組込み関数 [詳細]

#include "NewtType.h"

ソースコードを見る。

マクロ定義

#define NcSelf()   NVMSelf()
 self を取得
#define NcGetVariable(frame, slot)   NcFullLookup(frame, slot)
#define NcThrow(name, data)   NsThrow(kNewtRefNIL, name, data)
#define NcTotalClone(r)   NsTotalClone(kNewtRefNIL, r)
#define NcDeeplyLength(r)   NsDeeplyLength(kNewtRefNIL, r)
#define NcHasSlot(frame, slot)   NsHasSlot(kNewtRefNIL, frame, slot)
#define NcGetSlot(frame, slot)   NsGetSlot(kNewtRefNIL, frame, slot)
#define NcSetSlot(frame, slot, v)   NsSetSlot(kNewtRefNIL, frame, slot, v)
#define NcRemoveSlot(frame, slot)   NsRemoveSlot(kNewtRefNIL, frame, slot)
#define NcStrCat(str, v)   NsStrCat(kNewtRefNIL, str, v)
#define NcMakeSymbol(r)   NsMakeSymbol(kNewtRefNIL, r)
#define NcMakeFrame()   NsMakeFrame(kNewtRefNIL)
#define NcMakeBinary(len, klass)   NsMakeBinary(kNewtRefNIL, len, klass)
#define NcPrintObject(r)   NsPrintObject(kNewtRefNIL, r)
#define NcPrint(r)   NsPrint(kNewtRefNIL, r)

関数

newtRef NcProtoLookupFrame (newtRefArg start, newtRefArg name)
newtRef NcProtoLookup (newtRefArg start, newtRefArg name)
newtRef NcLexicalLookup (newtRefArg start, newtRef name)
newtRef NcFullLookupFrame (newtRefArg start, newtRefArg name)
newtRef NcFullLookup (newtRefArg start, newtRefArg name)
newtRef NcLookupSymbol (newtRefArg r, newtRefArg name)
newtRef NsThrow (newtRefArg rcvr, newtRefArg name, newtRefArg data)
newtRef NsRethrow (newtRefArg rcvr)
newtRef NcClone (newtRefArg r)
newtRef NsTotalClone (newtRefArg rcvr, newtRefArg r)
newtRef NcLength (newtRefArg r)
newtRef NsDeeplyLength (newtRefArg rcvr, newtRefArg r)
newtRef NsSetLength (newtRefArg rcvr, newtRefArg r, newtRefArg len)
newtRef NsHasSlot (newtRefArg rcvr, newtRefArg frame, newtRefArg slot)
newtRef NsGetSlot (newtRefArg rcvr, newtRefArg frame, newtRefArg slot)
newtRef NsSetSlot (newtRefArg rcvr, newtRefArg frame, newtRefArg slot, newtRefArg v)
newtRef NsRemoveSlot (newtRefArg rcvr, newtRefArg frame, newtRefArg slot)
newtRef NcSetArraySlot (newtRefArg r, newtRefArg p, newtRefArg v)
newtRef NcHasPath (newtRefArg r, newtRefArg p)
newtRef NcGetPath (newtRefArg r, newtRefArg p)
newtRef NcSetPath (newtRefArg r, newtRefArg p, newtRefArg v)
newtRef NcARef (newtRefArg r, newtRefArg p)
newtRef NcSetARef (newtRefArg r, newtRefArg p, newtRefArg v)
newtRef NsHasVariable (newtRefArg rcvr, newtRefArg r, newtRefArg name)
newtRef NsGetVariable (newtRefArg rcvr, newtRefArg frame, newtRefArg slot)
newtRef NsSetVariable (newtRefArg rcvr, newtRefArg frame, newtRefArg slot, newtRefArg v)
newtRef NsHasVar (newtRefArg rcvr, newtRefArg name)
newtRef NsPrimClassOf (newtRefArg rcvr, newtRefArg r)
newtRef NcClassOf (newtRefArg r)
newtRef NcSetClass (newtRefArg r, newtRefArg c)
newtRef NcRefEqual (newtRefArg r1, newtRefArg r2)
newtRef NsObjectEqual (newtRefArg rcvr, newtRefArg r1, newtRefArg r2)
newtRef NsSymbolCompareLex (newtRefArg rcvr, newtRefArg r1, newtRefArg r2)
newtRef NsHasSubclass (newtRefArg rcvr, newtRefArg sub, newtRefArg supr)
newtRef NsIsSubclass (newtRefArg rcvr, newtRefArg sub, newtRefArg supr)
newtRef NsIsInstance (newtRefArg rcvr, newtRefArg obj, newtRefArg rr)
newtRef NsIsArray (newtRefArg rcvr, newtRefArg r)
newtRef NsIsFrame (newtRefArg rcvr, newtRefArg r)
newtRef NsIsBinary (newtRefArg rcvr, newtRefArg r)
newtRef NsIsSymbol (newtRefArg rcvr, newtRefArg r)
newtRef NsIsString (newtRefArg rcvr, newtRefArg r)
newtRef NsIsCharacter (newtRefArg rcvr, newtRefArg r)
newtRef NsIsInteger (newtRefArg rcvr, newtRefArg r)
newtRef NsIsReal (newtRefArg rcvr, newtRefArg r)
newtRef NsIsNumber (newtRefArg rcvr, newtRefArg r)
newtRef NsIsImmediate (newtRefArg rcvr, newtRefArg r)
newtRef NsIsFunction (newtRefArg rcvr, newtRefArg r)
newtRef NsIsReadonly (newtRefArg rcvr, newtRefArg r)
newtRef NcAddArraySlot (newtRefArg r, newtRefArg v)
newtRef NcStringer (newtRefArg r)
newtRef NsStrCat (newtRefArg rcvr, newtRefArg str, newtRefArg v)
newtRef NsMakeSymbol (newtRefArg rcvr, newtRefArg r)
newtRef NsMakeFrame (newtRefArg rcvr)
newtRef NsMakeBinary (newtRefArg rcvr, newtRefArg length, newtRefArg klass)
newtRef NcBAnd (newtRefArg r1, newtRefArg r2)
newtRef NcBOr (newtRefArg r1, newtRefArg r2)
newtRef NcBNot (newtRefArg r)
newtRef NsAnd (newtRefArg rcvr, newtRefArg r1, newtRefArg r2)
newtRef NsOr (newtRefArg rcvr, newtRefArg r1, newtRefArg r2)
newtRef NcAdd (newtRefArg r1, newtRefArg r2)
newtRef NcSubtract (newtRefArg r1, newtRefArg r2)
newtRef NcMultiply (newtRefArg r1, newtRefArg r2)
newtRef NcDivide (newtRefArg r1, newtRefArg r2)
newtRef NcDiv (newtRefArg r1, newtRefArg r2)
newtRef NsMod (newtRefArg rcvr, newtRefArg r1, newtRefArg r2)
newtRef NsShiftLeft (newtRefArg rcvr, newtRefArg r1, newtRefArg r2)
newtRef NsShiftRight (newtRefArg rcvr, newtRefArg r1, newtRefArg r2)
newtRef NcLessThan (newtRefArg r1, newtRefArg r2)
newtRef NcGreaterThan (newtRefArg r1, newtRefArg r2)
newtRef NcGreaterOrEqual (newtRefArg r1, newtRefArg r2)
newtRef NcLessOrEqual (newtRefArg r1, newtRefArg r2)
newtRef NsCurrentException (newtRefArg rcvr)
newtRef NsMakeRegex (newtRefArg rcvr, newtRefArg pattern, newtRefArg opt)
newtRef NsPrintObject (newtRefArg rcvr, newtRefArg r)
newtRef NsPrint (newtRefArg rcvr, newtRefArg r)
newtRef NsInfo (newtRefArg rcvr, newtRefArg r)
newtRef NsDumpFn (newtRefArg rcvr, newtRefArg r)
newtRef NsDumpBC (newtRefArg rcvr, newtRefArg r)
newtRef NsDumpStacks (newtRefArg rcvr)
newtRef NsCompile (newtRefArg rcvr, newtRefArg r)
newtRef NsGetEnv (newtRefArg rcvr, newtRefArg r)
newtRef NsExtractByte (newtRefArg rcvr, newtRefArg r, newtRefArg offset)


説明

組込み関数

作者:
M.Nukui
日付:
2003-11-07
覚え書き:
NS... で始まる関数はインタプリタの関数として定義可能
Copyright (C) 2003-2004 M.Nukui All rights reserved.

NewtFns.h で定義されています。


関数

newtRef NcAdd ( newtRefArg  r1,
newtRefArg  r2 
)

加算(r1 + r2)

引数:
r1 [in] 数値オブジェクト1
r2 [in] 数値オブジェクト2
戻り値:
数値オブジェクト

NewtFns.c1529 行で定義されています。

参照先 kNErrNotANumberNewtArgsIsNumber()NewtMakeInteger()NewtMakeReal()NewtRefToInteger()NewtRefToReal()NewtThrow0().

参照元 fn_add().

関数の呼び出しグラフ:

newtRef NcAddArraySlot ( newtRefArg  r,
newtRefArg  v 
)

配列オブジェクトに値を追加する

引数:
r [in] 配列オブジェクト
v [in] 値オブジェクト
戻り値:
値オブジェクト

NewtFns.c1207 行で定義されています。

参照先 NewtObjAddArraySlot()NewtRefToPointer.

参照元 fn_add_array_slot()NBCAddLiteralEnv()NBCGenMakeFrameSlots_sub()NewtObjSetSlot()NewtWriteNSOF()NPSAddArraySlot()NSOFReadArray()NSOFReadFrame()NSOFReadNSOF()NsSplit().

関数の呼び出しグラフ:

newtRef NcARef ( newtRefArg  r,
newtRefArg  p 
)

オブジェクトの指定された位置から値を取得

引数:
r [in] オブジェクト
p [in] 位置
戻り値:
値オブジェクト
覚え書き:
スクリプトからの呼出し用

NewtFns.c546 行で定義されています。

参照先 kNErrNotAnIntegerNewtARef()NewtRefIsInteger()NewtRefToInteger()NewtThrow().

参照元 fn_aref().

関数の呼び出しグラフ:

newtRef NcBAnd ( newtRefArg  r1,
newtRefArg  r2 
)

整数のビットAND

引数:
r1 [in] 整数オブジェクト1
r2 [in] 整数オブジェクト2
戻り値:
数値オブジェクト

NewtFns.c1386 行で定義されています。

参照先 kNErrNotAnIntegerNewtRefIsInteger()NewtThrow().

参照元 fn_bit_and().

関数の呼び出しグラフ:

newtRef NcBNot ( newtRefArg  r  ) 

整数のビットNOT

引数:
r [in] 整数オブジェクト
戻り値:
数値オブジェクト

NewtFns.c1427 行で定義されています。

参照先 kNErrNotAnIntegerNewtMakeInteger()NewtRefIsInteger()NewtRefToInteger()NewtThrow().

参照元 fn_bit_not().

関数の呼び出しグラフ:

newtRef NcBOr ( newtRefArg  r1,
newtRefArg  r2 
)

整数のビットOR

引数:
r1 [in] 整数オブジェクト1
r2 [in] 整数オブジェクト2
戻り値:
数値オブジェクト

NewtFns.c1407 行で定義されています。

参照先 kNErrNotAnIntegerNewtRefIsInteger()NewtThrow().

参照元 fn_bit_or().

関数の呼び出しグラフ:

newtRef NcClassOf ( newtRefArg  r  ) 

オブジェクトのクラスシンボルを取得

引数:
r [in] オブジェクト
戻り値:
クラスシンボル

NewtFns.c840 行で定義されています。

参照先 NewtGetRefType()NewtObjClassOf()NewtRefIsPointerNewtRefTypeToClass().

参照元 fn_classof()NewtClearMapFlags()NewtDeeplyCloneMap()NewtGetPath()NewtIsInstance()NewtMakeMap()NewtMapIsSorted()NewtObjHasProto()NewtRefFunctionType()NewtRefIsCodeBlock()NewtRefIsNativeFn()NewtRefIsNativeFunc()NewtRefIsRegex()NewtSetMapFlags()NIOPrintObjArray()NSOFWriteArray()NSOFWriteBinary().

関数の呼び出しグラフ:

newtRef NcClone ( newtRefArg  r  ) 

オブジェクトをクローン複製する

引数:
r [in] オブジェクト
戻り値:
クローン複製されたオブジェクト

NewtFns.c238 行で定義されています。

参照先 NewtObjClone()NewtRefIsPointer.

参照元 fn_clone()NewtObjClone()NewtObjRemoveFrameSlot()NPSMakeBinary()NsTotalClone()NVMFuncCall()NVMMessageSend()si_set_lex_scope().

関数の呼び出しグラフ:

newtRef NcDiv ( newtRefArg  r1,
newtRefArg  r2 
)

整数の割算(r1 / r2)

引数:
r1 [in] 整数オブジェクト1
r2 [in] 整数オブジェクト2
戻り値:
整数オブジェクト

NewtFns.c1691 行で定義されています。

参照先 kNErrNotAnIntegerNewtMakeInteger()NewtRefIsInteger()NewtRefToInteger()NewtThrow().

参照元 fn_div().

関数の呼び出しグラフ:

newtRef NcDivide ( newtRefArg  r1,
newtRefArg  r2 
)

割算(r1 / r2)

引数:
r1 [in] 数値オブジェクト1
r2 [in] 数値オブジェクト2
戻り値:
数値オブジェクト

NewtFns.c1646 行で定義されています。

参照先 kNErrDiv0kNErrNotANumberNewtArgsIsNumber()NewtMakeInteger()NewtMakeReal()NewtRefToInteger()NewtRefToReal()NewtThrow()NewtThrow0().

参照元 fn_divide().

関数の呼び出しグラフ:

newtRef NcFullLookup ( newtRefArg  start,
newtRefArg  name 
)

プロト、ペアレント継承でシンボルを検索

引数:
start [in] 開始オブジェクト
name [in] シンボルオブジェクト
戻り値:
検索されたオブジェクト

NewtFns.c165 行で定義されています。

参照先 kNewtRefUnbindNcFullLookupFrame()NcGetSlot.

参照元 is_find_var()NewtSlotsGetPath()NsGetVariable().

関数の呼び出しグラフ:

newtRef NcFullLookupFrame ( newtRefArg  start,
newtRefArg  name 
)

プロト、ペアレント継承でシンボルを検索(フレームを見つける)

引数:
start [in] 開始オブジェクト
name [in] シンボルオブジェクト
戻り値:
検索されたオブジェクトを持つフレーム

NewtFns.c124 行で定義されています。

参照先 kNewtRefUnbindNcGetSlotNcResolveMagicPointer()NewtHasSlot()NewtRefIsFrame()NewtRefIsMagicPointerNewtRefIsNotNILNSSYM0.

参照元 NcFullLookup()vm_send().

関数の呼び出しグラフ:

newtRef NcGetPath ( newtRefArg  r,
newtRefArg  p 
)

オブジェクトのアクセスパスの値を取得

引数:
r [in] オブジェクト
p [in] アクセスパス
戻り値:
値オブジェクト
覚え書き:
スクリプトからの呼出し用

NewtFns.c502 行で定義されています。

参照先 NewtGetPath().

参照元 is_get_path()NewtHasPath().

関数の呼び出しグラフ:

newtRef NcGreaterOrEqual ( newtRefArg  r1,
newtRefArg  r2 
)

オブジェクトの大小比較(r1 >= r2)

引数:
r1 [in] オブジェクト1
r2 [in] オブジェクト2
戻り値:
TRUE 
NIL 
覚え書き:
スクリプトの呼出し用

NewtFns.c1818 行で定義されています。

参照先 NewtMakeBooleanNewtObjectCompare().

参照元 fn_greater_or_equal().

関数の呼び出しグラフ:

newtRef NcGreaterThan ( newtRefArg  r1,
newtRefArg  r2 
)

オブジェクトの大小比較(r1 > r2)

引数:
r1 [in] オブジェクト1
r2 [in] オブジェクト2
戻り値:
TRUE 
NIL 
覚え書き:
スクリプトの呼出し用

NewtFns.c1800 行で定義されています。

参照先 NewtMakeBooleanNewtObjectCompare().

参照元 fn_greater_than().

関数の呼び出しグラフ:

newtRef NcHasPath ( newtRefArg  r,
newtRefArg  p 
)

オブジェクト内のアクセスパスの有無を調べる

引数:
r [in] オブジェクト
p [in] アクセスパス
戻り値:
TRUE アクセスパスが存在する
NIL アクセスパスが存在しない
覚え書き:
スクリプトからの呼出し用

NewtFns.c485 行で定義されています。

参照先 NewtHasPath()NewtMakeBoolean.

参照元 fn_has_path().

関数の呼び出しグラフ:

newtRef NcLength ( newtRefArg  r  ) 

オブジェクトの長さを取得

引数:
r [in] オブジェクト
戻り値:
オブジェクトの長さ
覚え書き:
スクリプトからの呼出し用

NewtFns.c291 行で定義されています。

参照先 NewtLength()NewtMakeInteger().

参照元 fn_length()iter_new()NBCFnDone().

関数の呼び出しグラフ:

newtRef NcLessOrEqual ( newtRefArg  r1,
newtRefArg  r2 
)

オブジェクトの大小比較(r1 <= r2)

引数:
r1 [in] オブジェクト1
r2 [in] オブジェクト2
戻り値:
TRUE 
NIL 
覚え書き:
スクリプトの呼出し用

NewtFns.c1836 行で定義されています。

参照先 NewtMakeBooleanNewtObjectCompare().

参照元 fn_less_or_equal().

関数の呼び出しグラフ:

newtRef NcLessThan ( newtRefArg  r1,
newtRefArg  r2 
)

オブジェクトの大小比較(r1 < r2)

引数:
r1 [in] オブジェクト1
r2 [in] オブジェクト2
戻り値:
TRUE 
NIL 
覚え書き:
スクリプトの呼出し用

NewtFns.c1782 行で定義されています。

参照先 NewtMakeBooleanNewtObjectCompare().

参照元 fn_less_than().

関数の呼び出しグラフ:

newtRef NcLexicalLookup ( newtRefArg  start,
newtRef  name 
)

レキシカルスコープでシンボルを検索

引数:
start [in] 開始オブジェクト
name [in] シンボルオブジェクト
戻り値:
検索されたオブジェクト

NewtFns.c94 行で定義されています。

参照先 kNewtRefUnbindNcGetSlotNcResolveMagicPointer()NewtHasSlot()NewtRefIsMagicPointerNewtRefIsNotNILNSSYM0.

参照元 is_find_var().

関数の呼び出しグラフ:

newtRef NcLookupSymbol ( newtRefArg  r,
newtRefArg  name 
)

シンボルテーブルからシンボルを検索

引数:
r [in] シンボルテーブル
name [in] シンボル名
戻り値:
検索されたシンボルオブジェクト

NewtFns.c188 行で定義されています。

参照先 NewtLookupSymbolArray().

関数の呼び出しグラフ:

newtRef NcMultiply ( newtRefArg  r1,
newtRefArg  r2 
)

乗算(r1 x r2)

引数:
r1 [in] 数値オブジェクト1
r2 [in] 数値オブジェクト2
戻り値:
数値オブジェクト

NewtFns.c1607 行で定義されています。

参照先 kNErrNotANumberNewtArgsIsNumber()NewtMakeInteger()NewtMakeReal()NewtRefToInteger()NewtRefToReal()NewtThrow0().

参照元 fn_multiply().

関数の呼び出しグラフ:

newtRef NcProtoLookup ( newtRefArg  start,
newtRefArg  name 
)

プロト継承でシンボルを検索

引数:
start [in] 開始オブジェクト
name [in] シンボルオブジェクト
戻り値:
検索されたオブジェクト

NewtFns.c72 行で定義されています。

参照先 kNewtRefUnbindNcGetSlotNcProtoLookupFrame().

参照元 NewtObjClassOf().

関数の呼び出しグラフ:

newtRef NcProtoLookupFrame ( newtRefArg  start,
newtRefArg  name 
)

プロト継承でシンボルを検索(フレームを見つける)

<