NewtEnv.c

実行環境 [詳細]

#include <string.h>
#include <errno.h>
#include "version.h"
#include "NewtEnv.h"
#include "NewtObj.h"
#include "NewtFns.h"
#include "NewtGC.h"
#include "NewtStr.h"
#include "NewtFile.h"

ソースコードを見る。

マクロ定義

#define SYM_TABLE   (newt_env.sym_table)
 シンボルテーブル
#define ROOT   (newt_env.root)
 ルートオブジェクト
#define GLOBALS   (newt_env.globals)
 グローバル変数テーブル
#define GLOBAL_FNS   (newt_env.global_fns)
 グローバル関数テーブル
#define MAGIC_POINTERS   (newt_env.magic_pointers)
 マジックポインタテーブル
#define INITSYM2(sym, str)   sym = NewtMakeSymbol(str)
 よく使うシンボルの初期化
#define INITSYM(name)   INITSYM2(newt_sym.name, #name)
 よく使うシンボルの初期化(特殊文字なし)

関数

char * replacechr (char *str, char srch, char repl)
static void NewtInitSYM (void)
static void NewtInitSysEnv (void)
static void NewtInitARGV (int argc, const char *argv[], int n)
static void NewtInitVersInfo (void)
static void NewtInitEnv (int argc, const char *argv[], int n)
char * NewtDefaultEncoding (void)
void NewtInit (int argc, const char *argv[], int n)
void NewtCleanup (void)
newtRef NewtLookupSymbolTable (const char *name)
bool NewtHasGlobalFn (newtRefArg r)
bool NewtHasGlobalVar (newtRefArg r)
newtRef NsGlobalFnExists (newtRefArg rcvr, newtRefArg r)
newtRef NsGetGlobalFn (newtRefArg rcvr, newtRefArg r)
newtRef NsDefGlobalFn (newtRefArg rcvr, newtRefArg r, newtRefArg fn)
newtRef NsUndefGlobalFn (newtRefArg rcvr, newtRefArg r)
newtRef NsGlobalVarExists (newtRefArg rcvr, newtRefArg r)
newtRef NsGetGlobalVar (newtRefArg rcvr, newtRefArg r)
newtRef NsDefGlobalVar (newtRefArg rcvr, newtRefArg r, newtRefArg v)
newtRef NsUndefGlobalVar (newtRefArg rcvr, newtRefArg r)
newtRef NcResolveMagicPointer (newtRefArg r)
newtRef NsDefMagicPointer (newtRefArg rcvr, newtRefArg r, newtRefArg v)
newtRef NsGetRoot (newtRefArg rcvr)
newtRef NsGetGlobals (newtRefArg rcvr)
newtRef NsGetGlobalFns (newtRefArg rcvr)
newtRef NsGetMagicPointers (newtRefArg rcvr)
newtRef NsGetSymTable (newtRefArg rcvr)

変数

newt_env_t newt_env
 実行環境
newt_sym_t newt_sym
 よく使うシンボルの保管場所


説明

実行環境

作者:
M.Nukui
日付:
2003-11-07
Copyright (C) 2003-2004 M.Nukui All rights reserved.

NewtEnv.c で定義されています。


関数

newtRef NcResolveMagicPointer ( newtRefArg  r  ) 

マジックポインタの参照を解決する

引数:
r [in] マジックポインタ
戻り値:
オブジェクト

NewtEnv.c736 行で定義されています。

参照先 kNewtRefUnbindMAGIC_POINTERSNewtGetArraySlot()NewtLength()NewtRefIsMagicPointer.

参照元 NcFullLookupFrame()NcLexicalLookup()NcProtoLookupFrame()NewtAssignment()NewtHasLexical()NewtLexicalAssignment()NIOPrint()NIOPrintObj2()NsGetSlot()stk_pop().

関数の呼び出しグラフ:

void NewtCleanup ( void   ) 

インタプリタの後始末

戻り値:
なし

NewtEnv.c420 行で定義されています。

参照先 NEWT_POOLNewtMemFree()NewtPoolRelease().

参照元 newt_info()newt_interpret_file()newt_interpret_str().

関数の呼び出しグラフ:

char* NewtDefaultEncoding ( void   ) 

環境変数からデフォルトエンコーディングを取得

戻り値:
デフォルトエンコーディング(文字列)

NewtEnv.c83 行で定義されています。

参照先 NEWT_DEFAULT_ENCODING.

参照元 NewtReadNSOF()NsMakeNSOF().

bool NewtHasGlobalFn ( newtRefArg  r  ) 

グローバル関数の有無を調べる

引数:
r [in] シンボルオブジェクト
戻り値:
true グローバル関数が存在する
false グローバル関数が存在しない

NewtEnv.c459 行で定義されています。

参照先 GLOBAL_FNSNewtHasSlot().

参照元 NsGlobalFnExists().

関数の呼び出しグラフ:

bool NewtHasGlobalVar ( newtRefArg  r  ) 

グローバル変数の有無を調べる

引数:
r [in] シンボルオブジェクト
戻り値:
true グローバル変数が存在する
false グローバル変数が存在しない

NewtEnv.c474 行で定義されています。

参照先 GLOBALSNewtHasSlot().

参照元 is_find_and_set_var()is_find_var()NsGlobalVarExists()NVMHasVar().

関数の呼び出しグラフ:

void NewtInit ( int  argc,
const char *  argv[],
int  n 
)

インタプリタの初期化

引数:
argc [in] コマンドライン引数の数
argv [in] コマンドライン引数の配列
n [in] コマンドライン引数の位置
戻り値:
なし

NewtEnv.c405 行で定義されています。

参照先 NEWT_POOLNEWT_POOL_EXPANDSPACENewtInitEnv()NewtPoolAlloc().

参照元 newt_info()newt_interpret_file()newt_interpret_str().

関数の呼び出しグラフ:

void NewtInitARGV ( int  argc,
const char *  argv[],
int  n 
) [static]

コマンドライン引数の初期化

引数:
argc [in] コマンドライン引数の数
argv [in] コマンドライン引数の配列
n [in] コマンドライン引数の位置
戻り値:
なし

NewtEnv.c273 行で定義されています。

参照先 GLOBALSkNewtRefUnbindNcDirNameNcSetSlotNewtExpandPath()NewtGetFileSeparator()NewtMakeArray()NewtMakeString()NewtRefIsNIL()NewtSetArraySlot()NSSYM0replacechr().

参照元 NewtInitEnv().

関数の呼び出しグラフ:

void NewtInitEnv ( int  argc,
const char *  argv[],
int  n 
) [static]

実行環境の初期化

引数:
argc [in] コマンドライン引数の数
argv [in] コマンドライン引数の配列
n [in] コマンドライン引数の位置
戻り値:
なし

NewtEnv.c361 行で定義されています。

参照先 GLOBAL_FNSGLOBALSkNewtRefUnbindMAGIC_POINTERSNcMakeFrameNcSetSlotNewtInitARGV()NewtInitSYM()NewtInitSysEnv()NewtInitVersInfo()NewtMakeArray()NSSYM0ROOTSYM_TABLE.

参照元 NewtInit().

関数の呼び出しグラフ:

void NewtInitSYM ( void   )  [static]

よく使うシンボルの初期化

戻り値:
なし

NewtEnv.c108 行で定義されています。

参照先 INITSYMINITSYM2NS_CHARNS_CLASSNS_INT.

参照元 NewtInitEnv().

void NewtInitSysEnv ( void   )  [static]

システム環境変数の初期化

戻り値:
なし

NewtEnv.c219 行で定義されています。

参照先 __DYLIBSUFFIX____PLATFORM__GLOBALSkNewtRefUnbindNcMakeFrameNcSetSlotNcSplitNewtGetEnv()NewtMakeCharacterNewtMakeString()NewtPackLiteral()NewtRefIsString()NSSYMNSSYM0.

参照元 NewtInitEnv().

関数の呼び出しグラフ:

void NewtInitVersInfo ( void   )  [static]

バージョン情報の初期化

戻り値:
なし

NewtEnv.c327 行で定義されています。

参照先 GLOBALSNcMakeFrameNcSetSlotNEWT_BUILDNEWT_COPYRIGHTNEWT_NAMENEWT_PROTONEWT_STAFFNEWT_VERSIONNewtMakeString()NewtPackLiteral()NSSYM.

参照元 NewtInitEnv().

関数の呼び出しグラフ:

newtRef NewtLookupSymbolTable ( const char *  name  ) 

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

引数:
name [in] シンボルの名前
戻り値:
シンボルオブジェクト

NewtEnv.c443 行で定義されています。

参照先 NewtLookupSymbol()SYM_TABLE.

参照元 NewtMakeSymbol().

関数の呼び出しグラフ:

newtRef NsDefGlobalFn ( newtRefArg  rcvr,
newtRefArg  r,
newtRefArg  fn 
)

グローバル関数の定義

引数:
rcvr [in] レシーバ
r [in] シンボルオブジェクト
fn [in] 関数オブジェクト
戻り値:
関数オブジェクト

NewtEnv.c544 行で定義されています。

参照先 GLOBAL_FNSNcSetSlot.

参照元 NVMInitGlobalFns0().

newtRef NsDefGlobalVar ( newtRefArg  rcvr,
newtRefArg  r,
newtRefArg  v 
)

グローバル変数に値をセットする

引数:
rcvr [in] レシーバ
r [in] シンボルオブジェクト
v [in] 値オブジェクト
戻り値:
オブジェクト

NewtEnv.c629 行で定義されています。

参照先 GLOBALSNcSetSlot.

参照元 NVMInitGlobalFns0().

newtRef NsDefMagicPointer ( newtRefArg  rcvr,
newtRefArg  r,
newtRefArg  v 
)

マジックポインタの定義

引数:
rcvr [in] レシーバ
r [in] マジックポインタ
v [in] オブジェクト
戻り値:
オブジェクト

NewtEnv.c776 行で定義されています。

参照先 kNewtRefUnbindMAGIC_POINTERSNewtLength()NewtRefIsInteger()NewtRefIsMagicPointerNewtRefToInteger()NewtSetArraySlot()NewtSetLength().

参照元 NVMInitGlobalFns0().

関数の呼び出しグラフ:

newtRef NsGetGlobalFn ( newtRefArg  rcvr,
newtRefArg  r 
)

グローバル関数の取得

引数:
rcvr [in] レシーバ
r [in] シンボルオブジェクト
戻り値:
関数オブジェクト

NewtEnv.c528 行で定義されています。

参照先 GLOBAL_FNSNcGetSlot.

参照元 NVMInitGlobalFns1().

newtRef NsGetGlobalFns ( newtRefArg  rcvr  ) 

グローバル関数テーブルの取得

引数:
rcvr [in] レシーバ
戻り値:
グローバル関数テーブル

NewtEnv.c848 行で定義されています。

参照先 GLOBAL_FNS.

newtRef NsGetGlobals ( newtRefArg  rcvr  ) 

グローバル変数テーブルの取得

引数:
rcvr [in] レシーバ
戻り値:
グローバル変数テーブル

NewtEnv.c834 行で定義されています。

参照先 GLOBALS.

参照元 NVMInitGlobalFns1().

newtRef NsGetGlobalVar ( newtRefArg  rcvr,
newtRefArg  r 
)

グローバル変数の取得

引数:
rcvr [in] レシーバ
r [in] シンボルオブジェクト
戻り値:
オブジェクト

NewtEnv.c613 行で定義されています。

参照先 GLOBALSNcGetSlot.

参照元 NVMInitGlobalFns1().

newtRef NsGetMagicPointers ( newtRefArg  rcvr  ) 

マジックポインタ関数テーブルの取得

引数:
rcvr [in] レシーバ
戻り値:
マジックポインタ関数テーブル

NewtEnv.c862 行で定義されています。

参照先 MAGIC_POINTERS.

newtRef NsGetRoot ( newtRefArg  rcvr  ) 

ルートオブジェクトの取得

引数:
rcvr [in] レシーバ
戻り値:
ルートオブジェクト

NewtEnv.c820 行で定義されています。

参照先 ROOT.

参照元 NVMInitGlobalFns1().

newtRef NsGetSymTable ( newtRefArg  rcvr  ) 

シンボルテーブルの取得

引数:
rcvr [in] レシーバ
戻り値:
シンボルテーブル

NewtEnv.c876 行で定義されています。

参照先 SYM_TABLE.

newtRef NsGlobalFnExists ( newtRefArg  rcvr,
newtRefArg  r 
)

グローバル関数の有無を調べる

引数:
rcvr [in] レシーバ
r [in] シンボルオブジェクト
戻り値:
TRUE グローバル関数が存在する
NIL グローバル関数が存在しない
覚え書き:
スクリプトからの呼出し用

NewtEnv.c493 行で定義されています。

参照先 NewtHasGlobalFn()NewtMakeBoolean.

参照元 NVMInitGlobalFns1().

関数の呼び出しグラフ:

newtRef NsGlobalVarExists ( newtRefArg  rcvr,
newtRefArg  r 
)

グローバル変数の有無を調べる

引数:
rcvr [in] レシーバ
r [in] シンボルオブジェクト
戻り値:
TRUE グローバル変数が存在する
NIL グローバル変数が存在しない
覚え書き:
スクリプトからの呼出し用

NewtEnv.c578 行で定義されています。

参照先 NewtHasGlobalVar()NewtMakeBoolean.

参照元 NVMInitGlobalFns1().

関数の呼び出しグラフ:

newtRef NsUndefGlobalFn ( newtRefArg  rcvr,
newtRefArg  r 
)

Undefine a global function.

引数:
rcvr [in] レシーバ
r [in] シンボルオブジェクト
戻り値:
NIL

NewtEnv.c559 行で定義されています。

参照先 GLOBAL_FNSkNewtRefNILNcRemoveSlot.

参照元 NVMInitGlobalFns1().

newtRef NsUndefGlobalVar ( newtRefArg  rcvr,
newtRefArg  r 
)

Undefine a global variable.

引数:
rcvr [in] レシーバ
r [in] シンボルオブジェクト
戻り値:
NIL

NewtEnv.c662 行で定義されています。

参照先 GLOBALSkNewtRefNILNcRemoveSlot.

参照元 NVMInitGlobalFns1().

char * replacechr ( char *  str,
char  src,
char  dest 
)

文字列の文字を指定された文字で置き換える

引数:
str [i/o]文字列
src [in] 置換えられる文字
dest [in] 置換える文字
戻り値:
置き換えられた文字列

NewtEnv.c63 行で定義されています。

参照元 NewtInitARGV().


NEWT/0に対してThu Nov 23 16:55:46 2006に生成されました。  doxygen 1.5.0