R
Rene Theisen
Hello!
I want to transform the grammar for linear time logic (LTL) into an
C++ Object structure. More precisely:
I want some classes like this
class primary {
void operator(); // object is function object
}
class U {
void operator();
}
[...]
Some ltl formula such as "G (phi U psi)" should be represented using
the c++ objects like:
G( U(phi,psi) )
But I've no idea how to implement the structure elegant and efficient.
Any hints?
Rene
LTL-Grammar:
// primary:
// '(' impl-or-equiv ')'
// '1'
// '0'
// ID
// prefix:
// '!' prefix
// 'X' prefix
// 'F' prefix
// 'G' prefix
// primary
// until-or-release:
// prefix
// prefix 'U' prefix
// prefix 'V' prefix
// and:
// until-or-release { '&' until-or-release }*
// or:
// and { '|' and }*
// impl-or-equiv:
// or '->' or
// or '<->' or
// element:
// impl-or-equiv
I want to transform the grammar for linear time logic (LTL) into an
C++ Object structure. More precisely:
I want some classes like this
class primary {
void operator(); // object is function object
}
class U {
void operator();
}
[...]
Some ltl formula such as "G (phi U psi)" should be represented using
the c++ objects like:
G( U(phi,psi) )
But I've no idea how to implement the structure elegant and efficient.
Any hints?
Rene
LTL-Grammar:
// primary:
// '(' impl-or-equiv ')'
// '1'
// '0'
// ID
// prefix:
// '!' prefix
// 'X' prefix
// 'F' prefix
// 'G' prefix
// primary
// until-or-release:
// prefix
// prefix 'U' prefix
// prefix 'V' prefix
// and:
// until-or-release { '&' until-or-release }*
// or:
// and { '|' and }*
// impl-or-equiv:
// or '->' or
// or '<->' or
// element:
// impl-or-equiv