diff --git a/parse.py b/parse.py index b9b0bc6..15391c8 100644 --- a/parse.py +++ b/parse.py @@ -191,19 +191,16 @@ def create_context(self, context, text): return ParseContext(context, text, self.tokens[self.pos]) - def create_error(self, context, text): - return ParseError(context, text) - def parse_version(self, context): log.log(log.PARSER, log.TRACE, "Parsing version identifier...") context = self.create_context(context, "parsing version identifier") token = self.next() if token.type != "keyword" or token.value != "NewLang": - raise self.create_error(context, "Expected 'NewLang' keyword, got '%s'" % (token.value)) + raise ParseError(context, "Expected 'NewLang' keyword, got '%s'" % (token.value)) token = self.next() version = token.value if version != "0": - raise self.create_error(context, "Unknown version '%s'" % (version)) + raise ParseError(context, "Unknown version '%s'" % (version)) log.log(log.PARSER, log.DEBUG, "Parsed version %s" % (version)) return version @@ -214,7 +211,7 @@ elif type == "text": ret = Text(value) else: - raise self.create_error(context, "Unexpected value type %s" % (type)) + raise ParseError(context, "Unexpected value type %s" % (type)) log.log(log.PARSER, log.TRACE, "Parsed value, AST is %s" % (ret)) return ret @@ -233,7 +230,7 @@ log.log(log.PARSER, log.TRACE, "Parsed arguments, AST is %s" % (args)) return args else: - raise self.create_error(meta_context, "Expected %s, got %s" % (terminator, token.value)) + raise ParseError(meta_context, "Expected %s, got %s" % (terminator, token.value)) else: arg = self.parse_value(arg_context, "argument", token.type, token.value) log.log(log.PARSER, log.TRACE, "Parsed argument %s" % (arg)) @@ -253,11 +250,11 @@ if token.value == terminator: verb = None else: - raise self.create_error(meta_context, "Expected %s, got %s" % (terminator, token.value)) + raise ParseError(meta_context, "Expected %s, got %s" % (terminator, token.value)) elif token.type == "symbol": verb = token.value else: - raise self.create_error(context, "Expected symbol, got %s" % (token.type)) + raise ParseError(context, "Expected symbol, got %s" % (token.type)) log.log(log.PARSER, log.TRACE, "Parsing statement arguments...") if verb: arguments = self.parse_arguments(meta_context, terminator) @@ -275,7 +272,7 @@ context = self.create_context(meta_context, "parsing subject") token = self.next() if token.type != "symbol": - raise self.create_error(context, "Expected symbol, got %s" % (token.type)) + raise ParseError(context, "Expected symbol, got %s" % (token.type)) subject = token.value log.log(log.PARSER, log.TRACE, "Parsing set separator...") context = self.create_context(meta_context, "parsing set separator") @@ -284,7 +281,7 @@ pretty_value = token.value if token.type != "keyword": pretty_value = "'%s'" % (pretty_value) - raise self.create_error(context, "Expected To, got %s" % (pretty_value)) + raise ParseError(context, "Expected To, got %s" % (pretty_value)) log.log(log.PARSER, log.TRACE, "Parsing set value...") ast = self.parse_statement(meta_context, "EndSet", "set value") set = Set(subject, ast) @@ -307,14 +304,14 @@ def parse_directive(self, context): token = self.peek() if token.type != "keyword" and token.type != "symbol": - raise self.create_error(context, "Expected keyword or symbol, got %s" % (token.type)) + raise ParseError(context, "Expected keyword or symbol, got %s" % (token.type)) if token.type == "keyword": if token.value == "Set": return self.parse_set(context) elif token.value == "If": return self.parse_if(context) else: - raise self.create_error(context, "Unexpected keyword %s" % (token.value)) + raise ParseError(context, "Unexpected keyword %s" % (token.value)) else: ast = self.parse_statement(context, "Done", "command") return ast