comparison python/pyburg.py @ 323:e9fe6988497c

Used burg for generating expressions
author Windel Bouwman
date Thu, 30 Jan 2014 19:03:24 +0100
parents 44f336460c2a
children 5477e499b039
comparison
equal deleted inserted replaced
322:44f336460c2a 323:e9fe6988497c
243 self.print(' {}'.format(t.strip())) 243 self.print(' {}'.format(t.strip()))
244 self.emit_state() 244 self.emit_state()
245 self.print(' def gen(self, tree):') 245 self.print(' def gen(self, tree):')
246 self.print(' self.burm_label(tree)') 246 self.print(' self.burm_label(tree)')
247 self.print(' if not tree.state.has_goal("{}"):'.format(self.system.goal)) 247 self.print(' if not tree.state.has_goal("{}"):'.format(self.system.goal))
248 self.print(' raise Exception("Tree not covered")') 248 self.print(' raise Exception("Tree {} not covered".format(tree))')
249 self.print(' self.apply_rules(tree, "{}")'.format(self.system.goal)) 249 self.print(' return self.apply_rules(tree, "{}")'.format(self.system.goal))
250 250
251 def emit_record(self, rule, state_var): 251 def emit_record(self, rule, state_var):
252 # TODO: check for rules fullfilled (by not using 999999) 252 # TODO: check for rules fullfilled (by not using 999999)
253 self.print(' nts = self.nts({})'.format(rule.nr)) 253 self.print(' nts = self.nts({})'.format(rule.nr))
254 self.print(' kids = self.kids(tree, {})'.format(rule.nr)) 254 self.print(' kids = self.kids(tree, {})'.format(rule.nr))