00001 /* 00002 FALCON - The Falcon Programming Language. 00003 FILE: core_func.h 00004 00005 Falcon module manager 00006 ------------------------------------------------------------------- 00007 Author: Giancarlo Niccolai 00008 Begin: 2004-08-01 00009 00010 ------------------------------------------------------------------- 00011 (C) Copyright 2004: the FALCON developers (see list in AUTHORS file) 00012 00013 See LICENSE file for licensing details. 00014 */ 00015 00016 #ifndef flc_COREFUNC_H 00017 #define flc_COREFUNC_H 00018 00019 #include <falcon/setup.h> 00020 #include <falcon/module.h> 00021 #include <falcon/falcondata.h> 00022 00023 namespace Falcon { 00024 00025 class VMachine; 00026 00037 namespace core { 00038 00039 FALCON_FUNC len ( ::Falcon::VMachine *vm ); 00040 FALCON_FUNC DgetKeyAt ( ::Falcon::VMachine *vm ); 00041 FALCON_FUNC DgetValueAt ( ::Falcon::VMachine *vm ); 00042 FALCON_FUNC DgetPairAt( ::Falcon::VMachine *vm ); 00043 00045 FALCON_FUNC_DYN_SYM CreateTraceback( ::Falcon::VMachine *vm ); 00047 FALCON_FUNC_DYN_SYM TraceStep( ::Falcon::VMachine *vm ); 00049 FALCON_FUNC_DYN_SYM TraceStep_toString( ::Falcon::VMachine *vm ); 00051 FALCON_FUNC_DYN_SYM Error( ::Falcon::VMachine *vm ); 00053 FALCON_FUNC_DYN_SYM Error_toString( ::Falcon::VMachine *vm ); 00057 FALCON_FUNC_DYN_SYM Error_init( ::Falcon::VMachine *vm ); 00058 } // end of core namespace 00059 00060 FALCON_DYN_SYM Module * core_module_init(); 00061 00062 extern Module *core_module; 00063 00064 } 00065 00066 #endif 00067 00068 /* end of core_func.h */