rsCTL PVs: process_name.entity_name.

This commit is contained in:
Artur Meski
2018-04-14 22:10:56 +01:00
parent d8398085aa
commit 30b62c88c6
3 changed files with 13 additions and 7 deletions

View File

@@ -74,14 +74,16 @@ class BoolContexts
Oper oper; Oper oper;
BoolContexts *arg[2]; BoolContexts *arg[2];
std::string name; std::string name;
std::string proc_name;
bool tf; bool tf;
public: public:
BoolContexts(std::string varName) BoolContexts(std::string procName, std::string varName)
{ {
oper = BCTX_PV; oper = BCTX_PV;
name = varName; name = varName;
proc_name = procName;
arg[0] = nullptr; arg[0] = nullptr;
arg[1] = nullptr; arg[1] = nullptr;
} }
@@ -167,9 +169,10 @@ class FormRSCTL
* @param varName variable name used mostly for printing the variable. * @param varName variable name used mostly for printing the variable.
* @param varBDD the BDD describing the set where the variable holds. * @param varBDD the BDD describing the set where the variable holds.
*/ */
FormRSCTL(std::string varName) FormRSCTL(std::string procName, std::string varName)
{ {
oper = RSCTL_PV; oper = RSCTL_PV;
proc_name = procName;
entity_name = varName; entity_name = varName;
arg[0] = nullptr; arg[0] = nullptr;
arg[1] = nullptr; arg[1] = nullptr;

View File

@@ -60,6 +60,7 @@ blank [ \t]
">" return token::RAB; ">" return token::RAB;
":" return token::COL; ":" return token::COL;
";" return token::SEMICOL; ";" return token::SEMICOL;
"." return token::DOT;
"," return token::COMMA; "," return token::COMMA;
"->" return token::RARR; "->" return token::RARR;
"AND" return token::AND; "AND" return token::AND;

View File

@@ -47,7 +47,7 @@ class rsin_driver;
%token OPTIONS USE_CTX_AUT USE_CONCENTRATIONS %token OPTIONS USE_CTX_AUT USE_CONCENTRATIONS
%token REACTIONS INITIALCONTEXTS CONTEXTENTITIES RSCTLFORM %token REACTIONS INITIALCONTEXTS CONTEXTENTITIES RSCTLFORM
%token CONTEXTAUTOMATON STATES INITSTATE TRANSITIONS %token CONTEXTAUTOMATON STATES INITSTATE TRANSITIONS
%token EQ LCB RCB LRB RRB LSB RSB LAB RAB COL SEMICOL COMMA RARR %token EQ LCB RCB LRB RRB LSB RSB LAB RAB COL SEMICOL DOT COMMA RARR
%token AND OR XOR IMPLIES NOT %token AND OR XOR IMPLIES NOT
%token EX EU EF EG AX AU AF AG E A X U F G EMPTY %token EX EU EF EG AX AU AF AG E A X U F G EMPTY
@@ -259,9 +259,10 @@ ctxentity: IDENTIFIER {
/* formulae */ /* formulae */
bool_contexts: IDENTIFIER { bool_contexts: IDENTIFIER DOT IDENTIFIER {
$$ = new BoolContexts(*$1); $$ = new BoolContexts(*$1, *$3);
free($1); free($1);
free($3);
} }
| NOT bool_contexts { | NOT bool_contexts {
$$ = new BoolContexts(BCTX_NOT, $2); $$ = new BoolContexts(BCTX_NOT, $2);
@@ -315,9 +316,10 @@ f_entity: IDENTIFIER {
} }
; ;
rsctl_form: IDENTIFIER { rsctl_form: IDENTIFIER DOT IDENTIFIER {
$$ = new FormRSCTL(*$1); $$ = new FormRSCTL(*$1, *$3);
free($1); free($1);
free($3);
} }
| NOT rsctl_form { | NOT rsctl_form {
$$ = new FormRSCTL(RSCTL_NOT, $2); $$ = new FormRSCTL(RSCTL_NOT, $2);