/* Web Polygraph http://www.web-polygraph.org/
* (C) 2003-2006 The Measurement Factory
* Licensed under the Apache License, Version 2.0 */
#ifndef POLYGRAPH__RUNTIME_SCRIPT_H
#define POLYGRAPH__RUNTIME_SCRIPT_H
#include "pgl/PglSemx.h"
class SynSym;
class StatIntvl;
class DutWatchdog;
// run-time in-core PGL interpreter
class Script: public PglSemx {
public:
typedef DutWatchdog Sampler;
public:
Script(const SynSym &aCode);
virtual ~Script();
void statsSampler(Sampler *aSampler);
const SynSym &code() const;
void run();
ExpressionSym *callFunc(const String &cname, const ListSym &args);
virtual void callProc(const String &cname, const ListSym &args);
virtual void execEveryCode(const EveryCodeSym &ecode);
protected:
SynSym *theCode;
Sampler *theSampler;
};
#endif
syntax highlighted by Code2HTML, v. 0.9.1