/* $Id: types_and_functions_libs.h,v 1.3 2001/01/18 16:02:51 sbeyer Exp $ $Log: types_and_functions_libs.h,v $ Revision 1.3 2001/01/18 16:02:51 sbeyer small bugfixes Revision 1.2 2001/01/12 16:24:51 sbeyer C++-files now use 'class string' instead of 'char *'-stuff Revision 1.1 2001/01/11 16:25:27 sbeyer split types_and_functions (about 900 lines) into the 3 files types_and_functions_add types_and_functions_core types_and_functions_libs */ #ifndef types_and_functions_libs_h #define types_and_functions_libs_h #include "shared_lists.h" struct defined_lib { string name; string path; defined_lib() { } defined_lib(const defined_lib &lib) { name=lib.name; path=lib.path; } defined_lib(const string &_name, const string &_path) { name=_name+'@'; path=_path; } }; struct parse_tree { string name; const knoten* root; parse_tree() { root=0; } parse_tree(const parse_tree &tree) { name=tree.name; root=tree.root; } parse_tree(const knoten *_root,const string &_name) { name=_name; root=_root; } }; struct parsed_theory { string name; knoten* root; string lib; parsed_theory() { root=0; } parsed_theory(const parsed_theory &theo) { name=theo.name; root=theo.root; lib=theo.lib; } parsed_theory(const string &_name, const string &_lib, knoten* _root) { name=_name; root=_root; lib=_lib; } }; extern list parsed_theories; extern list parse_trees; void parse_file(const string &lib, const string &name); void import_importings(const knoten *knot, list &libs, const string &path); void add_lib_decl(knoten* knot, const string &path, list &libs); #endif // types_and_functions_libs_h