def check_syntax(self, f_str): self.clearParseActions() if self.debug_mode: self.addDebugActions() try: FORMULA.parseString(f_str) except ParseException, e: return (False, str(e))
def parseFormula(self, state_machine, f_str): self.sm = state_machine self.solver = self.sm.solver self.connective_stack = [] self.eq_symbol_stack = [] self.expr_stack = [] self.setupParseActions() FORMULA.parseString(f_str) return self.expr_stack.pop()
def testFORMULA(self): FORMULA.parseString('EAX <= EBX ^ ECX = 50') FORMULA.parseString('EAX <= EBX') FORMULA.parseString('EAX = 0x50') #FORMULA.parseString('(EAX = 0x50)') self.assertRaises(ParseException, FORMULA.parseString, '50 <= EAX')