The main change of this release is to relax the supported grammar, in particular regarding the symbols definition.
- Wip/grammar by @francescofuggitti in #81
- Earlier, symbols could not contain uppercase letters. Now, symbols cannot start with uppercase letters.
- Now, hyphens can only occur in the middle characters of a word, i.e. neither at the start nor at the end of the symbol (unless quoted).
- Double quoted words can contain all printable characters (except the double quote ".
- Fixed bug in LDLf parsing; the regular expression of type "test" was not parsed correctly (#76).
- Other minor bug fixing
- Improved to the behaviour of
Not
:- Make
Not
to simplify when argument is a boolean formula. IfNot
is applied toTrueFormula
, then the output isFalseFormula
; likewise, if it is applied toFalseFormula
, the output isTrueFormula
. - Fix: replace
__neg__
with__invert__
- Make
- Improved simplification of monotone operators: check also
the presence of
phi OP ~phi
and reduce according to the binary operator involved. - Added tests to check consistency between code and documentation.
- Updated grammars so to be compliant with
version
0.2.0
of this standard.
- Added support for Propositional Logic parsing, syntax representation and parsing.
- Added support for Linear Temporal Logic parsing and syntax representation.
- Added support for Past Linear Temporal Logic parsing and syntax representation.
- Added support for Linear Dynamic Logic parsing and syntax representation.