Esempio n. 1
0
 def __init__(self):
     self.compiler = Compiler()
     # parser state
     self.agg_name = defaultdict(none)
     self.bc = set()
     self.other = []
     self.ruleix = 0
     # rules
     self.rules = {}
     self.updaters = defaultdict(list)
     self._gbc = defaultdict(list)
     # data structures
     self.agenda = prioritydict()
     self.chart = Charts(self.agg_name)
     self.error = {}
     self.changed = {}
     # misc
     self.time_step = 0
     # coarsening of the program shows which rules might depend on each other
     self.coarse_deps = defaultdict(set)
     self.rule_by_head = defaultdict(set)
     self.rule_dep = defaultdict(set)  # rules which depend on a predicate
     # rules which need to be recompiled against new program state.
     self.recompile = set()
     # forward chaining rules which failed to initialize
     self.uninitialized_rules = []