#include <stdio.h>
#include "NewtType.h"
#include "NewtMem.h"
NewtVM.h で定義されています。
| anonymous enum |
| newtRef NVMCall | ( | newtRefArg | fn, | |
| int16_t | numArgs, | |||
| newtErr * | errP | |||
| ) |
関数オブジェクトを実行
| fn | [in] 関数オブジェクト | |
| numArgs | [in] 引数の数 | |
| errP | [out]エラーコード |
参照先 CALLSP・CURREXCP・kNErrNone・kNewtRefUnbind・NewtRefIsNotNIL・NVMFnCall()・NVMGetExceptionErrCode()・NVMLoop()・stk_top().
参照元 NsLoad()・NVMInterpret().
関数の呼び出しグラフ:

| void NVMClearException | ( | void | ) |
| newtRef NVMCurrentException | ( | void | ) |
| newtRef NVMCurrentFunction | ( | void | ) |
| newtRef NVMCurrentImplementor | ( | void | ) |
| void NVMDumpBC | ( | FILE * | f, | |
| newtRefArg | instructions | |||
| ) |
出力ファイルにバイトコードをダンプ出力
| f | [in] 出力ファイル | |
| instructions | [in] バイトコード |
参照先 NewtLength()・NewtRefIsBinary()・NewtRefToBinary・NVMDumpCode().
参照元 NsDumpBC()・NVMDumpFn().
関数の呼び出しグラフ:

| void NVMDumpCode | ( | FILE * | f, | |
| uint8_t * | bc, | |||
| uint32_t | len | |||
| ) |
出力ファイルにバイトコードをダンプ出力
| f | [in] 出力ファイル | |
| bc | [in] バイトコード | |
| len | [in] バイトコードの長さ |
参照先 kNBCFieldMask・NewtFprintf()・NVMDumpInstCode()・NVMDumpInstName().
参照元 NVMDumpBC().
関数の呼び出しグラフ:

| void NVMDumpFn | ( | FILE * | f, | |
| newtRefArg | func | |||
| ) |
出力ファイルに関数オブジェクトをダンプ出力
| f | [in] 出力ファイル | |
| func | [in] 関数オブジェクト |
参照先 FUNC・NcGetGlobalFn・NcGetSlot・NewtFprintf()・NewtPrintObject()・NewtRefIsFunction()・NewtRefIsNIL()・NewtRefIsSymbol()・NSSYM0・NVMDumpBC().
参照元 NBCGenBC()・NsDumpFn().
関数の呼び出しグラフ:

| void NVMDumpInstName | ( | FILE * | f, | |
| uint8_t | a, | |||
| int16_t | b | |||
| ) |
出力ファイルに命令コードの名前をダンプ出力
| f | [in] 出力ファイル | |
| a | [in] オペコード | |
| b | [in] オペデータ |
参照先 fn_instruction_names・kBCFuncsLen・kNBCInstructionsLen・kNBCSimpleInstructionsLen・NewtFprintf()・simple_instruction_names・vm_instruction_names.
参照元 NPSDumpSyntaxTree()・NVMDumpCode()・NVMLoop().
関数の呼び出しグラフ:

| void NVMDumpStacks | ( | FILE * | f | ) |
出力ファイルにスタックをダンプ出力
| f | [in] 出力ファイル |
参照先 NewtPrintObject()・SP・STACK.
参照元 NsDumpStacks().
関数の呼び出しグラフ:

| void NVMDumpStackTop | ( | FILE * | f, | |
| char * | s | |||
| ) |
出力ファイルにスタックの先頭をダンプ出力
| f | [in] 出力ファイル | |
| s | [in] 区切り文字列 |
参照先 NewtFputs()・NewtPrintObj()・stk_top().
参照元 NVMDumpInstResult().
関数の呼び出しグラフ:

| void NVMFnCall | ( | newtRefArg | fn, | |
| int16_t | numArgs | |||
| ) |
呼出す関数オブジェクトをセット
| fn | [in] 関数オブジェクト | |
| numArgs | [in] 引数の数 |
参照先 is_invoke()・si_set_lex_scope()・stk_push().
参照元 NVMCall().
関数の呼び出しグラフ:

| bool NVMFuncCheckNumArgs | ( | newtRefArg | fn, | |
| int16_t | numArgs | |||
| ) |
関数の引数の数をチェックする
| fn | [in] 関数オブジェクト | |
| numArgs | [in] 引数の数 |
| true | 正常 | |
| false | 不正 |
参照先 NcGetSlot・NewtRefIsNIL()・NewtRefToInteger()・NSSYM0.
参照元 NVMFuncCheck().
関数の呼び出しグラフ:

| bool NVMHasVar | ( | newtRefArg | name | ) |
変数の存在チェック
| name | [in] 変数シンボル |
| true | 変数が存在する | |
| false | 変数が存在しない |
参照先 LOCALS・NewtHasGlobalVar()・NewtHasLexical()・NewtHasVariable()・RCVR.
関数の呼び出しグラフ:

| newtErr NVMInfo | ( | const char * | name | ) |
指定された関数の情報を表示
| name | [in] 関数名 |
参照先 kNErrNone・NewtInfo()・NewtInfoGlobalFns()・NewtMakeSymbol()・NVMClean()・NVMInit().
参照元 newt_info().
関数の呼び出しグラフ:

| newtRef NVMInterpret | ( | newtRefArg | fn, | |
| newtErr * | errP | |||
| ) |
関数オブジェクトを実行
| fn | [in] 関数オブジェクト | |
| errP | [out]エラーコード |
参照先 kNErrNone・kNewtRefUnbind・NEWT_TRACE・NewtFprintf()・NewtGC()・NewtRefIsNotNIL・NVMCall()・NVMClean()・NVMInit().
参照元 NVMInterpret2().
関数の呼び出しグラフ:

ファイルを読込んでスクリプトを実行
| path | [in] ファイルのパス | |
| errP | [out]エラーコード |
参照先 kNErrNone・kNewtRefUnbind・NPSParseFile()・NVMInterpret2().
関数の呼び出しグラフ:

文字列をコンパイルしてスクリプトを実行
| s | [in] 文字列 | |
| errP | [out]エラーコード |
参照先 kNErrNone・kNewtRefUnbind・NPSParseStr()・NVMInterpret2().
参照元 newt_interpret_str().
関数の呼び出しグラフ:

| newtRef NVMMessageSendWithArgArray | ( | newtRefArg | inImpl, | |
| newtRefArg | inRcvr, | |||
| newtRefArg | inFunction, | |||
| newtRefArg | inArgs | |||
| ) |
Execute a function as if it was a method of an object.
| inImpl | implementor. | |
| inRcvr | object. | |
| inFunction | function to execute. | |
| inArgs | array of arguments. |
参照先 CALLSP・NewtArrayLength・NewtGetArraySlot()・NVMLoop()・NVMMessageSend()・stk_push()・stk_top()・vm_env.
関数の呼び出しグラフ:

| void NVMRethrow | ( | void | ) |
rethrow する
参照先 CURREXCP・NcGetSlot・NewtRefIsNotNIL・NSSYM0・NVMThrowData().
参照元 NsRethrow().
関数の呼び出しグラフ:

| void NVMThrow | ( | newtRefArg | name, | |
| newtRefArg | data | |||
| ) |
例外を発生させる
| name | [in] シンボル | |
| data | [in] データ |
参照先 NVMMakeExceptionFrame()・NVMThrowData().
参照元 NsThrow().
関数の呼び出しグラフ:

| void NVMThrowData | ( | newtRefArg | name, | |
| newtRefArg | data | |||
| ) |
例外を発生させる
| name | [in] シンボル | |
| data | [in] 例外フレーム |
参照先 vm_excp_t::callsp・CURREXCP・EXCPSP・EXCPSTACK・NewtHasSubclass()・NVMClearCurrException()・PC・vm_excp_t::pc・reg_rewind()・vm_excp_t::sym.
参照元 NVMRethrow()・NVMThrow().
関数の呼び出しグラフ:

1.5.0