コード例 #1
0
ファイル: sexpression.py プロジェクト: hermetique/dao
def parse_eval(grammar, text):
    solver = make_solver()
    exp = make_parse_statement(grammar, text)
    sexp = to_sexpression(exp)
    exp = solver.eval(sexp)

    # Do not need the second eval any more, with the rule 'eval_parse_result'.
    if isinstance(exp, Cons): exp = cons2tuple(exp)
    return solver.eval(exp)  #sexpression2daoexpression
コード例 #2
0
ファイル: sexpression.py プロジェクト: charyorde/dao
def parse_eval(grammar, text):
  solver = make_solver()
  exp = make_parse_statement(grammar, text)
  sexp = to_sexpression(exp)
  exp = solver.eval(sexp) 
  
  # Do not need the second eval any more, with the rule 'eval_parse_result'.
  if isinstance(exp, Cons): exp = cons2tuple(exp)
  return solver.eval(exp)#sexpression2daoexpression
コード例 #3
0
ファイル: testparser.py プロジェクト: charyorde/dao
def eval(exp):
  exp = preparse(exp)
  sexp = to_sexpression(exp)
  return make_solver().eval(sexp)
コード例 #4
0
ファイル: sexpression.py プロジェクト: hermetique/dao
def parse(grammar, text):
    solver = make_solver()
    exp = make_parse_statement(grammar, text)
    sexp = to_sexpression(exp)
    return solver.eval(exp)
コード例 #5
0
ファイル: sexpression.py プロジェクト: charyorde/dao
def parse(grammar, text):
  solver = make_solver()
  exp = make_parse_statement(grammar, text)
  sexp = to_sexpression(exp)
  return solver.eval(exp)
コード例 #6
0
def eval(exp):
    exp = preparse(exp)
    sexp = to_sexpression(exp)
    return make_solver().eval(sexp)
コード例 #7
0
ファイル: teval.py プロジェクト: charyorde/dao
def teval(text):
  solver = make_solver(global_env, global_env.extend(), None, None)
  exp = parse_text(grammar, text)
  return solver.eval(exp)