hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
Namespaces | Macros | Typedefs | Functions | Variables
prepl.C File Reference
#include <hobbes/hobbes.H>
#include <hobbes/ipc/prepl.H>
#include <hobbes/util/codec.H>
#include <hobbes/util/os.H>
#include <unistd.h>
#include <string.h>
#include <sys/wait.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <fcntl.h>
Include dependency graph for prepl.C:

Namespaces

 hobbes
 

Macros

#define CMD_REFINE_VNAME   ((int)0)
 
#define CMD_PRECOMPILE_EXPR   ((int)1)
 
#define CMD_REPL_EVAL   ((int)2)
 
#define CMD_REPL_TYPEOF   ((int)3)
 
#define CMD_REPL_TENV   ((int)4)
 
#define CMD_REPL_DEFINE   ((int)5)
 
#define CMD_COUNT   ((int)6) /* must be the last value to accurately count how many 'commands' there are */
 

Typedefs

typedef void(* hobbes::ThunkF) ()
 
typedef std::vector< ThunkF > hobbes::ThunkFs
 
typedef std::map< int, const char * > hobbes::Signames
 

Functions

void hobbes::execProcess (const std::string &cmd)
 
void hobbes::spawn (const std::string &, proc *)
 
void hobbes::dbglog (const std::string &)
 
void hobbes::runMachineREPLStep (cc *c)
 
static void hobbes::deadlySignal (int sig, siginfo_t *, void *)
 
void hobbes::runMachineREPL (cc *)
 
void hobbes::procDefine (proc *, const std::string &, const std::string &)
 
void hobbes::procEval (proc *, const std::string &)
 
void hobbes::procTypeof (proc *p, const std::string &x)
 
void hobbes::procTypeEnv (proc *p)
 
void hobbes::procRead (proc *, std::ostream *, uint64_t waitUS=0)
 
MonoTypePtr hobbes::refinedType (const proc &p, const std::string &fname, const MonoTypePtr &hasty)
 
PrepProcExpr hobbes::procPrepareExpr (const proc &, const ExprPtr &)
 
int hobbes::invocationID (const proc &p, const std::string &fname, const MonoTypePtr &hasty)
 

Variables

static int hobbes::machineREPLLogFD = -1
 
static Signames hobbes::rsignames
 

Macro Definition Documentation

◆ CMD_COUNT

#define CMD_COUNT   ((int)6) /* must be the last value to accurately count how many 'commands' there are */

◆ CMD_PRECOMPILE_EXPR

#define CMD_PRECOMPILE_EXPR   ((int)1)

◆ CMD_REFINE_VNAME

#define CMD_REFINE_VNAME   ((int)0)

◆ CMD_REPL_DEFINE

#define CMD_REPL_DEFINE   ((int)5)

◆ CMD_REPL_EVAL

#define CMD_REPL_EVAL   ((int)2)

◆ CMD_REPL_TENV

#define CMD_REPL_TENV   ((int)4)

◆ CMD_REPL_TYPEOF

#define CMD_REPL_TYPEOF   ((int)3)