2
* To change this license header, choose License Headers in Project Properties.
3
* To change this template file, choose Tools | Templates
4
* and open the template in the editor.
11
* Created on April 22, 2016, 10:15 AM
14
#ifndef CTLPARSER_V2_H
15
#define CTLPARSER_V2_H
19
#include "../../PetriParse/rapidxml/rapidxml.hpp"
27
int numberof_queries = 0;
28
std::vector<std::string>* model_names = new std::vector<std::string>();
31
struct RemoveDelimiter
33
bool operator()(char c)
35
return (c =='\r' || c =='\t' || c == ' ' || c == '\n');
42
CTLParser(const CTLParser& orig);
44
CTLQuery * ParseXMLQuery(std::vector<char> buffer, int query_number);
45
CTLQuery* FormatQuery(CTLQuery* query, PetriEngine::PetriNet *net);
46
std::string QueryToString(CTLQuery* query);
47
QueryMeta * GetQueryMetaData(std::vector<char> buffer);
49
CTLQuery* xmlToCTLquery(rapidxml::xml_node<> * root);
50
std::string parsePar(rapidxml::xml_node<> * parameter);
51
Path getPathOperator(rapidxml::xml_node<> * quantifyer_node);
52
int max_depth(int a, int b);
53
std::string loperator_sym(std::string loperator);
54
CTLQuery * CopyQuery(CTLQuery *source);
56
CTLQuery* FillAtom(CTLQuery* query, PetriEngine::PetriNet *net);
57
CTLQuery* ConvertAG(CTLQuery* query);
58
CTLQuery* ConvertEG(CTLQuery* query);
59
CTLQuery* TemporalSetting(CTLQuery* query);
60
int IdSetting(CTLQuery* query, int id);
61
int GetNumberofChildren(rapidxml::xml_node<>* root);
62
CTLQuery* GetChildren(CTLQuery* query, rapidxml::xml_node<>* node);
63
std::string choppy( char *s );
67
#endif /* CTLPARSER_V2_H */