00001 #ifndef _SOAR_CORE_UTILS_H_
00002 #define _SOAR_CORE_UTILS_H_
00003
00004 #include "soarkernel.h"
00005 #include "soar_core_api.h"
00006
00007 #ifdef USE_CAPTURE_REPLAY
00008 #include "soar_ecore_utils.h"
00009 #endif
00010
00011 extern Symbol *read_identifier_or_context_variable(void);
00012
00013 extern int read_id_or_context_var_from_string(const char *the_lexeme, Symbol * *result_id);
00014
00015 extern production *name_to_production(const char *string_to_test);
00016
00017 extern void do_print_for_identifier(Symbol * id, int depth, bool internal);
00018
00019 extern void get_lexeme_from_string(const char *the_lexeme);
00020
00021 extern void get_context_var_info(Symbol ** dest_goal, Symbol ** dest_attr_of_slot, Symbol ** dest_current_value);
00022
00023 extern void get_context_var_info_from_string(char *str, Symbol ** dest_goal,
00024 Symbol ** dest_attr_of_slot, Symbol ** dest_current_value);
00025
00026 extern void print_augs_of_id(Symbol * id, int depth, bool internal, int indent, tc_number tc);
00027
00028 extern int compare_attr(const void *e1, const void *e2);
00029
00030 extern void neatly_print_wme_augmentation_of_id(wme * w, int indentation);
00031
00032 extern bool string_match(const char *string1, const char *string2);
00033 extern bool string_match_up_to(const char *string1, const char *string2, int positions);
00034
00035 extern void excise_all_productions_of_type(byte type);
00036
00037 extern void soar_default_create_agent_procedure(const char *agent_name);
00038 extern void soar_default_destroy_agent_procedure(psoar_agent delete_agent);
00039
00040 #endif