Exemple #1
0
  def parseSynExp(self, s):    
    parse = Parser(util.StringFileAdapter(s))
    parse.recurLimit = 50
    ast = parse.parseSubSeq()
    if parse.errs:
      result = "Parsing errors:\n"
      for e in parse.errs:
        result +=  e.longMsg() + "\n"
      result +=  "\nTotal: " + str(len(parse.errs)) + " errors\n" 
      raise AnimError(result)

    check = Checker(self.world)
    sem = check.handleExp(ast)
    if check.errs:
      result = "Checking errors:\n"
      for e in check.errs:
        result +=  e.longMsg() + "\n"
      result +=  "\nTotal: " + str(len(check.errs)) + " errors\n" 
      raise AnimError(result)

    return sem