The PTTF input language syntax
The input language of the pttf tool consists of sentences encoding the
initial condition formula and a sequence of transition formulas, which
must be separated by white-space, i.e. blanks, tabs or newlines. The
input stream of sentences encoding the initial condition formula and
a set of transition formulas represents a transition program.
Propositional variables are denoted by identifiers consisting of
letters, digits and the underscore character. They should start with a
letter. The letter case is significant. Identifiers that are reserved
words cannot be used to name variables! The 1-letter operator symbol U
(until) must also not be used as variable name.
The list of logical and temporal operators which can be used in
transition programs is presented below:
Operators: Name:
~ not
/\ and
\/ or
-> implies
[] always
@ next
U until
Reserved word: Name:
Pr Process
The Pr reserved word is introduced to represent the disjunction of all
the propositional variables of a transition program.
The and (/\) operator can be omitted when used between two transition
formulas or between the initial condition formula and a transition
formula.
C-style comments may appear anywhere white-space is allowed.
White-space, i.e. blanks, tabs and newlines may appear in any number
between any two consecutive language tokens, and at the start and end
of the input file.
A transition program must terminate by a point (.).
The input language has the following syntax:
PTTF_input :
-->[ Initial_condition ]-->[ Transition_formulas ]-->(.)
Initial_condition :
-->[ Consequent ]-->
Transition_formulas :
--,-->[ Transition_formula ]--.-->
| |
`-------[ Separator ]<------'
Transition_formula :
--.----->[ ALWAYS ]-(()->[ Implication ]-())-----,->
| |
`--(()-[ ALWAYS ]-(()->[ Implication ]-())-())-'
Implication :
-->[ Antecedent ]-->[ IMPLIES ]-->[NEXT]-.-(()->[ Consequent ]-())-,->
| |
`------[ IDENTIFIER ]-----'
Antecedent :
---->[ Factor ]---->
Consequent :
-->[ NOT ]-->[ PROCESS ]-->[ UNTIL ]-->[ Factor ]-->
Factor :
--.------->[ Term ]--------,->
| |
`---(()->[ Term ]-())----'
Term :
--,->[ Identifier ]-.->
| |
`------[ OR ]<----'
Separator :
-.--->( BLANK )--,->
| |
`---->( TAB )---'
| |
`->( NEW_LINE )-'
Back to pttf page