コード例 #1
0
ファイル: pysyntax.py プロジェクト: hermetique/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 ''
   else: return self.____repr____()
コード例 #2
0
ファイル: pysyntax.py プロジェクト: hermetique/dao
 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
ファイル: testparser.py プロジェクト: charyorde/dao
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))