#include #include /* * Options flags. */ bool Interactive; bool GenCodeOption; bool DoTypecheckOption; bool DoExecutionOption; bool DumpParseTreeOption; bool DumpSymtabOption; bool DumpMemOption; #define MAXLINELEN 1000 /* static char LineBuf[MAXLINELEN]; static int LineInd; */ /* * Flag indicating whether we're in the midst of parsing, used to determine * whether to prompt with ">" or ">>". */ static bool Parsing; /* * Old crap flag from Greg that should be nuked. */ static bool interactive; /* * Flag indicating whether we're in the midst of conversational execution. */ bool Conversing; /* * Flag indicating if continue (after breakpoint) has been requested. */ bool ContinueFlag; /* * Level of break point execution. */ int BreakLev; /* * Jmpbuf used to throw from reset command. */ jmp_buf Reset; char *CurFile; FILE *F; int argi; int GlobalLevel; /* In conversations, we don't see a */\ /* module decl, so the global level */\ /* is 0. In straight interpretation, */\ /* the global level gets bumped to 1.*/\ /* See InitInterp(), GetAddr(), and */\ /* EnterModule().*/ /* * Functions */ bool GetNextInFile(int argc, char **argv); bool GetFirstInFile(int argc, char **argv); char* ValTagToString(ValTag vt); void PrintUniverse(); void PpValue(ValueStruct v, bool quotes); void PrintVList(Value* v); void ppv(Value* v);