Package tulip :: Package spec :: Module ast
[frames] | no frames]

Module ast

Abstract syntax tree classes for LTL.

Syntax taken originally roughly from: http://spot.lip6.fr/wiki/LtlSyntax

Functions
 
make_nodes(opmap=None)
Return class with attributes the AST node classes.
 
make_fol_nodes(opmap=None)
AST classes for fragment of first-order logic.
Variables
  logger = logging.getLogger(__name__)
  OPMAP = {'!': '!', '!=': '!=', '&': '&', '+': '+', '-': '-', '...
  FULL_OPERATOR_NAMES = {'always': '[]', 'and': '&&', 'equivalen...
  nodes = make_fol_nodes()
  __package__ = 'tulip.spec'
Function Details

make_nodes(opmap=None)

 

Return class with attributes the AST node classes.

The tree is defined recursively, not with a graph data structure. Tree is a graph data structure for that purpose.


Variables Details

OPMAP

Value:
{'!': '!',
 '!=': '!=',
 '&': '&',
 '+': '+',
 '-': '-',
 '->': '->',
 '<': '<',
 '<->': '<->',
...

FULL_OPERATOR_NAMES

Value:
{'always': '[]',
 'and': '&&',
 'equivalent': '<->',
 'eventually': '<>',
 'implies': '->',
 'next': 'X',
 'not': '!',
 'or': '||',
...