示例#1
0
 def __repr__(self): 
   if run_mode() is interactive:
     code = interactive_parser().parse(self)
     code = interactive_tagger().tag_loop_label(code)
     code = to_sexpression(code)
     result = interactive_solver().eval(code)
     return repr(result) if result is not None else ''
   else: return self.____repr____()
示例#2
0
 def __init__(self, name, grammar):
   self.__form_name__ = name
   if grammar is None:
     self.__form_grammar__ = None
   else:
     #print grammar
     self.__form_grammar__ = to_sexpression(preparse(or_p(grammar, syntax_error)))
   self.__operator_data__ = []
示例#3
0
文件: term.py 项目: charyorde/dao
 def __repr__(self): 
   if run_mode() is interactive:
     code = interactive_parser().parse(self)
     code = interactive_tagger().tag_loop_label(code)
     code = to_sexpression(code)
     result = interactive_solver().eval(code)
     return repr(result) if result is not None else ''
   return '%s(%s)'%(self.operator, 
               ','.join([repr(e) for e in self.operand]))
示例#4
0
文件: arith.py 项目: charyorde/dao
 def __repr__(self):
   if run_mode() is interactive:
     code = interactive_parser().parse(self)
     code = interactive_tagger().tag_loop_label(code)
     code = to_sexpression(code)
     result = interactive_solver().eval(code)
     return repr(result) if result is not None else ''
   x = _operator_repr(self.operand[0], self.operator)
   y = _operator_repr(self.operand[1], self.operator)
   return '%s%s%s'%(x, self.operator.symbol, y)
示例#5
0
文件: dinpy.py 项目: charyorde/dao
def solve(exp):
  code = interactive_parser().parse(exp)
  code = interactive_tagger().tag_loop_label(code)
  code = to_sexpression(code)
  return interactive_solver().solve(code)
示例#6
0
文件: special.py 项目: charyorde/dao
 def to_sexpression(self):
   return (set_list, self.vars, to_sexpression(self.exp))
示例#7
0
文件: special.py 项目: charyorde/dao
 def to_sexpression(self):
   return (catch, to_sexpression(self.tag)) +to_sexpression(self.body)
示例#8
0
文件: special.py 项目: charyorde/dao
 def to_sexpression(self):
   return (block, self.label)+to_sexpression(self.body)
示例#9
0
文件: special.py 项目: charyorde/dao
 def to_sexpression(self):
   return (set, self.var, to_sexpression(self.exp))
示例#10
0
文件: special.py 项目: charyorde/dao
 def to_sexpression(self):
   return (self.__class__, self.vars)+to_sexpression(self.body)
示例#11
0
文件: special.py 项目: charyorde/dao
 def to_sexpression(self):
   return (OnForm,)+to_sexpression(self.form, self.body, self.var)
示例#12
0
def preparse_to_sexpression(exp):
    return to_sexpression(preparse(exp))
示例#13
0
文件: term.py 项目: charyorde/dao
 def to_sexpression(self):
   return (to_sexpression(self.operator),)+tuple(to_sexpression(x) for x in self.operand)
示例#14
0
文件: testdinpy.py 项目: chaosim/dao
def preparse_to_sexpression(exp):
  return to_sexpression(preparse(exp))
示例#15
0
文件: dinpy.py 项目: hermetique/dao
def solve(exp):
    code = interactive_parser().parse(exp)
    code = interactive_tagger().tag_loop_label(code)
    code = to_sexpression(code)
    return interactive_solver().solve(code)
示例#16
0
文件: special.py 项目: charyorde/dao
 def to_sexpression(self):
   return (quote, to_sexpression(self.exp))
示例#17
0
文件: special.py 项目: charyorde/dao
 def to_sexpression(self):
   cases = dict((k, to_sexpression(tuple(v))) for k, v in self.cases.items())
   return (CaseForm,)+to_sexpression((self.test, cases, self.els))
示例#18
0
def eval(exp):
    exp = preparse(exp)
    sexp = to_sexpression(exp)
    return make_solver().eval(sexp)
示例#19
0
文件: special.py 项目: charyorde/dao
 def to_sexpression(self):
   self.bindings = to_sexpression(self.bindings)
   self.body = to_sexpression(self.body)
   return (self.__class__, self.bindings)+self.body
示例#20
0
def eval(exp):
  exp = preparse(exp)
  sexp = to_sexpression(exp)
  return make_solver().eval(sexp)
示例#21
0
文件: special.py 项目: charyorde/dao
 def to_sexpression(self):
   return (self.__class__,)+to_sexpression(self.rules)
示例#22
0
文件: special.py 项目: charyorde/dao
 def to_sexpression(self):
   return (set_global, self.var, to_sexpression(self.exp))
示例#23
0
文件: special.py 项目: charyorde/dao
 def to_sexpression(self):
   return (module, )+to_sexpression(self.body)
示例#24
0
文件: special.py 项目: charyorde/dao
 def to_sexpression(self):
   return (begin, )+to_sexpression(self.exps)
示例#25
0
文件: special.py 项目: charyorde/dao
 def to_sexpression(self):
   return (exit_block,)+to_sexpression((self.label, self.form))
示例#26
0
文件: special.py 项目: charyorde/dao
 def to_sexpression(self):
   return (if_, )+to_sexpression((self.test, self.exp1, self.exp2))
示例#27
0
文件: special.py 项目: charyorde/dao
 def to_sexpression(self):
   return (throw,)+to_sexpression((self.tag, self.form))
示例#28
0
文件: special.py 项目: charyorde/dao
 def to_sexpression(self):
   return (iff, to_sexpression(self.clauses), to_sexpression(self.els))
示例#29
0
文件: special.py 项目: charyorde/dao
 def to_sexpression(self):
   return (unwind_protect, to_sexpression(self.form))+to_sexpression(self.cleanup)
示例#30
0
文件: special.py 项目: charyorde/dao
 def to_sexpression(self):
   return (pytry,)+to_sexpression((self.body, self.exception, self.ex_clause, self.final))