22 #ifndef UTAP_BUILDER_HH
23 #define UTAP_BUILDER_HH
28 #include <boost/format.hpp>
102 uint32_t position, uint32_t offset, uint32_t line, std::string path) = 0;
109 virtual void setPosition(uint32_t a, uint32_t b) = 0;
126 virtual bool isType(
const char*) = 0;
219 virtual void declVar(
const char* name,
bool init) = 0;
250 virtual void procBegin(
const char* name,
const bool isTA =
true,
251 const std::string type =
"",
const std::string mode =
"") = 0;
253 virtual void procState(
const char* name,
bool hasInvariant,
bool hasER) = 0;
257 virtual void procEdgeBegin(
const char* from,
const char* to,
const bool control,
const char* actname =
"") = 0;
258 virtual void procEdgeEnd(
const char* from,
const char* to) = 0;
269 virtual void instanceName(
const char* name,
bool templ=
true)= 0;
272 virtual void procMessage(
const char* from,
const char* to,
const int loc,
const bool pch)= 0;
274 virtual void procCondition(
const std::vector<char*> anchors,
const int loc,
275 const bool pch,
const bool hot)= 0;
277 virtual void procLscUpdate(
const char* anchor,
const int loc,
const bool pch)= 0;
288 virtual void forEnd() = 0;
296 virtual void ifElse() = 0;
297 virtual void ifEnd(
bool) = 0;
316 virtual void exprId(
const char * varName) = 0;
317 virtual void exprNat(int32_t) = 0;
333 virtual void exprDot(
const char *) = 0;
340 virtual void exprSumEnd(
const char *name) = 0;
344 virtual void declIO(
const char*,
int,
int) = 0;
366 virtual void exprSimulate(
int,
int,
int,
bool=
false,
int = 0) = 0;
372 const char*
id,
size_t parameters,
const char* templ) = 0;
374 const char*
id,
size_t parameters,
const char* templ,
size_t arguments) = 0;
375 virtual void process(
const char*) = 0;
377 virtual void done() = 0;
383 virtual void scenario(
const char*) = 0;
384 virtual void parse(
const char*) = 0;
421 virtual void queryFormula(
const char* formula,
const char* location)=0;
virtual void exprAssignment(Constants::kind_t op)=0
virtual void exprExit()=0
virtual void procGuard()=0
virtual void exprSumDynamicBegin(const char *, const char *)=0
virtual void typeBool(PREFIX)=0
Called whenever a boolean type is parsed.
virtual void exprDot(const char *)=0
virtual bool isType(const char *)=0
Must return true if and only if name is registered in the symbol table as a named type...
virtual void breakStatement()=0
virtual void exprComma()=0
virtual void returnStatement(bool)=0
virtual void processListEnd()=0
virtual void typeBoundedInt(PREFIX)=0
Called whenever an integer type with a range is parsed.
virtual void defaultEnd()=0
virtual void typeArrayOfType(size_t)=0
Called to create an array type.
virtual void handleError(std::string)=0
virtual void exprCallEnd(uint32_t n)=0
virtual void queryBegin()=0
Verification queries.
virtual void exprPostIncrement()=0
virtual void instanceNameEnd(const char *name, size_t arguments)=0
virtual void exprExistsDynamicBegin(const char *, const char *)=0
virtual void procMessage(const char *from, const char *to, const int loc, const bool pch)=0
#define comment
Definition: lexer.cc:623
virtual void exprMITLExistsDynamicEnd(const char *name)=0
virtual void procCondition()=0
xta_part_t
Type for specifying which XTA part to parse (syntax switch)
Definition: common.h:272
virtual void instantiationBegin(const char *id, size_t parameters, const char *templ)=0
virtual void declFuncBegin(const char *name)=0
virtual void blockBegin()=0
virtual void exprExistsEnd(const char *name)=0
virtual void exprExistsDynamicEnd(const char *name)=0
virtual void exprStatement()=0
int32_t parseXMLBuffer(const char *buffer, UTAP::ParserBuilder *, bool newxta)
Parse a buffer in the XML format, reporting the system to the given implementation of the the ParserB...
Definition: xmlreader.cpp:1334
virtual void exprUnary(Constants::kind_t unaryop)=0
virtual void parse(const char *)=0
PREFIX
Definition: builder.h:85
virtual void exprSimulate(int, int, int, bool=false, int=0)=0
virtual void exprForeachDynamicEnd(const char *name)=0
virtual void procBranchpoint(const char *name)=0
virtual void exprBinary(Constants::kind_t binaryop)=0
virtual void typeDouble(PREFIX)=0
Called whenever a double type is parsed.
virtual void forBegin()=0
virtual void exprTernary(Constants::kind_t ternaryop, bool firstMissing=false)=0
virtual void ganttDeclEnd()=0
virtual void exprCallBegin()=0
virtual void procInstanceLine()=0
virtual void scenario(const char *)=0
virtual void process(const char *)=0
virtual void incProcPriority()=0
virtual void exprProbaCompare(int, Constants::kind_t, int, Constants::kind_t)=0
virtual void ganttEntryStart()=0
virtual void structField(const char *name)=0
Called to declare a field of a structure.
virtual void exprInlineIf()=0
virtual void exprDynamicProcessExpr(const char *)=0
Exception indicating a type error.
Definition: builder.h:39
virtual void exprId(const char *varName)=0
kind_t
Definition: common.h:37
virtual void handleWarning(std::string)=0
virtual void queryFormula(const char *formula, const char *location)=0
virtual void procUpdate()=0
virtual void typeVoid()=0
Called whenever a void type is parsed.
virtual void doWhileEnd()=0
virtual void blockEnd()=0
virtual void procStateUrgent(const char *name)=0
virtual void exprBuiltinFunction2(Constants::kind_t)=0
virtual void exprMitlRelease(int, int)=0
virtual void queryEnd()=0
std::vector< std::string > lscTemplateNames
Definition: builder.h:93
virtual void doWhileBegin()=0
virtual void exprSumBegin(const char *name)=0
virtual void caseBegin()=0
virtual void procSelect(const char *id)=0
virtual void exprForAllDynamicEnd(const char *name)=0
synchronisation_t
Definition: common.h:263
virtual void iterationEnd(const char *name)=0
virtual void ganttEntryEnd()=0
virtual void typeScalar(PREFIX)=0
Called whenever a scalar type is parsed.
virtual void assertStatement()=0
virtual void exprMITLForAllDynamicEnd(const char *name)=0
virtual void exprMITLExistsDynamicBegin(const char *, const char *)=0
virtual void declTypeDef(const char *name)=0
Used when a typedef declaration was parsed.
virtual void ganttDeclStart(const char *name)=0
virtual void exprPreDecrement()=0
virtual void exprSMCControl(int)=0
virtual void exprMitlAtom()=0
virtual void exprNumOf()=0
virtual void continueStatement()=0
virtual void exprNary(Constants::kind_t, uint32_t num)=0
virtual void instanceName(const char *name, bool templ=true)=0
virtual void exprSumDynamicEnd(const char *name)=0
virtual void procProb()=0
virtual void declDynamicTemplate(std::string)=0
Dynamic.
virtual void exprArray()=0
virtual void exprSumEnd(const char *name)=0
virtual void exprMitlUntil(int, int)=0
virtual void defaultBegin()=0
virtual void instanceNameBegin(const char *name)=0
virtual void exprPostDecrement()=0
virtual void defaultChanPriority()=0
virtual void exprPreIncrement()=0
virtual void typeClock(PREFIX)=0
Called whenever a clock type is parsed.
virtual void declProgress(bool hasGuard)=0
Guard progress measure declaration.
virtual void typePop()=0
Pop type at the topof the type stack.
virtual void exprMitlDisj()=0
virtual void exprScenario(const char *name)=0
virtual void procLscUpdate()=0
virtual void exprNat(int32_t)=0
virtual void switchEnd()=0
TypeException(std::string)
Definition: typeexception.cpp:26
virtual void iterationBegin(const char *name)=0
int32_t parseXMLFile(const char *filename, UTAP::ParserBuilder *, bool newxta)
Parse the file with the given name assuming it is in the XML format, reporting the system to the give...
Definition: xmlreader.cpp:1323
virtual void property()=0
virtual void exprSpawn(int)=0
virtual void exprExistsBegin(const char *name)=0
virtual void exprForAllEnd(const char *name)=0
The ParserBuilder interface is used by the parser to output the parsed system.
Definition: builder.h:79
virtual void beginChanPriority()=0
virtual void exprForAllBegin(const char *name)=0
virtual void beforeUpdate()=0
virtual void procEdgeEnd(const char *from, const char *to)=0
virtual void declFuncEnd()=0
virtual void declFieldInit(const char *name)=0
virtual void addPosition(uint32_t position, uint32_t offset, uint32_t line, std::string path)=0
Add mapping from an absolute position to a relative XML element.
virtual void declVar(const char *name, bool init)=0
Called to when a variable declaration has been parsed.
virtual void exprDouble(double)=0
virtual void exprFalse()=0
virtual void exprBuiltinFunction1(Constants::kind_t)=0
virtual void switchBegin()=0
virtual void typeInt(PREFIX)=0
Called whenever an integer type is parsed.
virtual void exprMITLForAllDynamicBegin(const char *, const char *)=0
virtual void exprMitlNext()=0
virtual void typeDuplicate()=0
Duplicate type at the top of the type stack.
virtual void procBegin(const char *name, const bool isTA=true, const std::string type="", const std::string mode="")=0
int32_t parseProperty(const char *str, UTAP::ParserBuilder *aParserBuilder, const std::string &xpath="")
Parse properties from a buffer.
Definition: parser.cc:7818
virtual void typeName(PREFIX, const char *name)=0
Called when a type name has been parsed.
virtual void emptyStatement()=0
virtual void exprForeachDynamicBegin(const char *, const char *)=0
virtual void ganttEntrySelect(const char *id)=0
virtual void typeChannel(PREFIX)=0
Called whenever a channel type is parsed.
int32_t parseXTA(FILE *, UTAP::ParserBuilder *, bool newxta)
Parse a file in the XTA format, reporting the system to the given implementation of the the ParserBui...
Definition: parser.cc:7810
virtual void ifEnd(bool)=0
virtual void exprDeadlock()=0
virtual void exprSync(Constants::synchronisation_t type)=0
virtual void declParameter(const char *name, bool ref)=0
virtual void typeStruct(PREFIX, uint32_t fields)=0
Called when a struct-type has been parsed.
virtual void ganttDeclSelect(const char *id)=0
virtual void queryComment(const char *comment)=0
virtual void whileBegin()=0
virtual void declInitialiserList(uint32_t num)=0
virtual void exprMitlBox(int, int)=0
virtual void exprProbaQualitative(int, Constants::kind_t, Constants::kind_t, double)=0
virtual void procPriority(const char *)=0
virtual void whileEnd()=0
virtual ~ParserBuilder()
Definition: builder.h:95
virtual void exprForAllDynamicBegin(const char *, const char *)=0
virtual void procStateCommit(const char *name)=0
virtual void exprProbaQuantitative(int, Constants::kind_t, bool=false)=0
virtual void exprProbaExpected(int, const char *)=0
virtual void exprMitlDiamond(int, int)=0
virtual void instantiationEnd(const char *id, size_t parameters, const char *templ, size_t arguments)=0
virtual void procEdgeBegin(const char *from, const char *to, const bool control, const char *actname="")=0
virtual void exprMitlConj()=0
virtual void procState(const char *name, bool hasInvariant, bool hasER)=0
virtual void afterUpdate()=0
virtual void exprTrue()=0
virtual void procStateInit(const char *name)=0
virtual void exprMitlFormula()=0
virtual void setPosition(uint32_t a, uint32_t b)=0
Sets the current position.
virtual void procSync(Constants::synchronisation_t type)=0
virtual void addChanPriority(char separator)=0
virtual void declIO(const char *, int, int)=0
virtual void typeArrayOfSize(size_t)=0
Called to create an array type.
virtual void hasPrechart(const bool pch)=0