hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
Namespaces | Typedefs | Functions
cmodule.C File Reference
#include <hobbes/eval/cc.H>
#include <hobbes/eval/cmodule.H>
#include <hobbes/lang/module.H>
#include <hobbes/lang/type.H>
#include <hobbes/lang/typeinf.H>
#include <hobbes/lang/preds/class.H>
#include <hobbes/util/str.H>
#include <hobbes/util/array.H>
#include <stdexcept>
#include <dlfcn.h>
#include <glob.h>
Include dependency graph for cmodule.C:

Namespaces

 hobbes
 

Typedefs

typedef std::vector< std::string > hobbes::ModulePaths
 
typedef std::map< std::string, int > hobbes::NameIndexing
 

Functions

bool hobbes::fileExists (const std::string &fname)
 
bool hobbes::importObject (cc *e, const std::string &sopath)
 
bool hobbes::importScript (cc *e, const std::string &fname)
 
static ModulePaths & hobbes::modulePaths ()
 
void hobbes::pushModuleDir (const std::string &)
 
void hobbes::popModuleDir ()
 
void hobbes::import (cc *, const std::string &)
 
NameIndexing hobbes::nameIndexing (const str::seq &ns)
 
NameIndexing hobbes::nameIndexing (const std::set< std::string > &ns)
 
int hobbes::nameIndex (const NameIndexing &ns, const std::string &vn)
 
std::vector< int > hobbes::nameIndex (const NameIndexing &ns, const str::seq &vns)
 
MonoTypeSubst hobbes::substitution (const NameIndexing &ns)
 
MonoTypeSubst hobbes::uvarSubstitution (const NameIndexing &ns)
 
void hobbes::resolveNames (const NameIndexing &ns, const CFunDepDef &nfdep, FunDeps *out)
 
FunDeps hobbes::resolveNames (const NameIndexing &ns, const CFunDepDefs &nfdeps)
 
TClass::Members hobbes::resolveMembers (const MonoTypeSubst &s, const MVarTypeDefs &mvtds)
 
void hobbes::compile (cc *e, const ClassDef *cd)
 
MemberMapping hobbes::compileMembers (MonoTypeUnifier *u, const TClassPtr &c, const MonoTypes &targs, cc *e, const MVarDefs &ds, bool asfn)
 
void hobbes::compile (cc *e, const InstanceDef *id)
 
void hobbes::compile (cc *e, const MImport *mimp)
 
void hobbes::compile (cc *e, const MTypeDef *mtd)
 
void hobbes::compile (cc *e, const MVarDef *mvd)
 
void hobbes::compile (cc *e, const MVarTypeDef *vtd)
 
void hobbes::compile (cc *, const ModulePtr &m)