00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __KSCRIPT_EVAL_H__
00021 #define __KSCRIPT_EVAL_H__
00022
00023 class KSContext;
00024 class KSParseNode;
00025
00026 extern bool KSEval_definitions( KSParseNode* node, KSContext& context );
00027 extern bool KSEval_exports( KSParseNode* node, KSContext& context );
00028 extern bool KSEval_t_in_param_dcl( KSParseNode* node, KSContext& context );
00029 extern bool KSEval_t_out_param_dcl( KSParseNode* node, KSContext& context );
00030 extern bool KSEval_t_inout_param_dcl( KSParseNode* node, KSContext& context );
00031 extern bool KSEval_t_float( KSParseNode* node, KSContext& context );
00032 extern bool KSEval_param_dcls( KSParseNode* node, KSContext& context );
00033 extern bool KSEval_t_vertical_line( KSParseNode* node, KSContext& context );
00034 extern bool KSEval_t_circumflex( KSParseNode* node, KSContext& context );
00035 extern bool KSEval_t_ampersand( KSParseNode* node, KSContext& context );
00036 extern bool KSEval_t_shiftright( KSParseNode* node, KSContext& context );
00037 extern bool KSEval_t_shiftleft( KSParseNode* node, KSContext& context );
00038 extern bool KSEval_t_plus_sign( KSParseNode* node, KSContext& context );
00039 extern bool KSEval_t_minus_sign( KSParseNode* node, KSContext& context );
00040 extern bool KSEval_t_asterik( KSParseNode* node, KSContext& context );
00041 extern bool KSEval_t_solidus( KSParseNode* node, KSContext& context );
00042 extern bool KSEval_t_percent_sign( KSParseNode* node, KSContext& context );
00043 extern bool KSEval_t_tilde( KSParseNode* node, KSContext& context );
00044 extern bool KSEval_t_integer_literal( KSParseNode* node, KSContext& context );
00045 extern bool KSEval_t_string_literal( KSParseNode* node, KSContext& context );
00046 extern bool KSEval_t_character_literal( KSParseNode* node, KSContext& context );
00047 extern bool KSEval_t_floating_pt_literal( KSParseNode* node, KSContext& context );
00048 extern bool KSEval_t_boolean_literal( KSParseNode* node, KSContext& context );
00049 extern bool KSEval_scoped_name( KSParseNode* node, KSContext& context );
00050 extern bool KSEval_raises_expr( KSParseNode* node, KSContext& context );
00051 extern bool KSEval_const_dcl( KSParseNode* node, KSContext& context );
00052 extern bool KSEval_func_dcl( KSParseNode* node, KSContext& context );
00053 extern bool KSEval_func_lines( KSParseNode* node, KSContext& context );
00054 extern bool KSEval_assign_expr( KSParseNode* node, KSContext& context );
00055 extern bool KSEval_t_equal( KSParseNode* node, KSContext& context );
00056 extern bool KSEval_t_notequal( KSParseNode* node, KSContext& context );
00057 extern bool KSEval_t_less_or_equal( KSParseNode* node, KSContext& context );
00058 extern bool KSEval_t_greater_or_equal( KSParseNode* node, KSContext& context );
00059 extern bool KSEval_t_array( KSParseNode* node, KSContext& context );
00060 extern bool KSEval_t_dict( KSParseNode* node, KSContext& context );
00061 extern bool KSEval_func_params( KSParseNode* node, KSContext& context );
00062 extern bool KSEval_func_param_in( KSParseNode* node, KSContext& context );
00063 extern bool KSEval_func_param_out( KSParseNode* node, KSContext& context );
00064 extern bool KSEval_func_param_inout( KSParseNode* node, KSContext& context );
00065 extern bool KSEval_t_func_call( KSParseNode* node, KSContext& context );
00066 extern bool KSEval_member_expr( KSParseNode* node, KSContext& context );
00067 extern bool KSEval_t_array_const( KSParseNode* node, KSContext& context );
00068 extern bool KSEval_t_array_element( KSParseNode* node, KSContext& context );
00069 extern bool KSEval_t_dict_const( KSParseNode* node, KSContext& context );
00070 extern bool KSEval_t_dict_element( KSParseNode* node, KSContext& context );
00071 extern bool KSEval_t_while( KSParseNode* node, KSContext& context );
00072 extern bool KSEval_t_do( KSParseNode* node, KSContext& context );
00073 extern bool KSEval_t_for( KSParseNode* node, KSContext& context );
00074 extern bool KSEval_t_if( KSParseNode* node, KSContext& context );
00075 extern bool KSEval_t_incr( KSParseNode* node, KSContext& context );
00076 extern bool KSEval_t_decr( KSParseNode* node, KSContext& context );
00077 extern bool KSEval_t_less( KSParseNode* node, KSContext& context );
00078 extern bool KSEval_t_greater( KSParseNode* node, KSContext& context );
00079 extern bool KSEval_t_foreach( KSParseNode* node, KSContext& context );
00080 extern bool KSEval_t_match( KSParseNode* node, KSContext& context );
00081 extern bool KSEval_t_subst( KSParseNode* node, KSContext& context );
00082 extern bool KSEval_t_not( KSParseNode* node, KSContext& context );
00083 extern bool KSEval_func_call_params( KSParseNode* node, KSContext& context );
00084 extern bool KSEval_t_return( KSParseNode* node, KSContext& context );
00085 extern bool KSEval_destructor_dcl( KSParseNode* node, KSContext& context );
00086 extern bool KSEval_import( KSParseNode* node, KSContext& context );
00087 extern bool KSEval_t_struct( KSParseNode* node, KSContext& context );
00088 extern bool KSEval_t_struct_members( KSParseNode* node, KSContext& context );
00089 extern bool KSEval_t_qualified_names( KSParseNode* node, KSContext& context );
00090 extern bool KSEval_t_scope( KSParseNode* node, KSContext& context );
00091 extern bool KSEval_t_try( KSParseNode* node, KSContext& context );
00092 extern bool KSEval_t_catch( KSParseNode* node, KSContext& context );
00093 extern bool KSEval_t_catch_default( KSParseNode* node, KSContext& context );
00094 extern bool KSEval_t_raise( KSParseNode* node, KSContext& context );
00095 extern bool KSEval_t_cell( KSParseNode* node, KSContext& context );
00096 extern bool KSEval_t_range( KSParseNode* node, KSContext& context );
00097 extern bool KSEval_from( KSParseNode* node, KSContext& context );
00098 extern bool KSEval_plus_assign( KSParseNode* node, KSContext& context );
00099 extern bool KSEval_minus_assign( KSParseNode* node, KSContext& context );
00100 extern bool KSEval_bool_or( KSParseNode* node, KSContext& context );
00101 extern bool KSEval_bool_and( KSParseNode* node, KSContext& context );
00102 extern bool KSEval_t_regexp_group( KSParseNode* node, KSContext& context );
00103 extern bool KSEval_t_input( KSParseNode* node, KSContext& context );
00104 extern bool KSEval_t_line( KSParseNode* node, KSContext& context );
00105 extern bool KSEval_t_match_line( KSParseNode* node, KSContext& context );
00106
00107 #endif