diff --git a/parse.py b/parse.py index a1c979b..ed2e9f2 100644 --- a/parse.py +++ b/parse.py @@ -89,7 +89,7 @@ value = self.read_text() elif token in keywords: type = "keyword" - value = token.lower() + value = token else: type = "symbol" value = token @@ -187,7 +187,7 @@ 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": + if token.type != "keyword" or token.value != "NewLang": raise self.create_error(context, "Expected 'NewLang' keyword, got '%s'" % (token.value)) token = self.next() version = token.value @@ -267,13 +267,13 @@ subject = token.value context = self.create_context(meta_context, "parsing set separator") token = self.next() - if token.type != "keyword" or token.value != "to": + if token.type != "keyword" or token.value != "To": pretty_value = token.value if token.type != "keyword": pretty_value = "'%s'" % (pretty_value) raise self.create_error(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") + ast = self.parse_statement(meta_context, "EndSet", "set value") set = Set(subject, ast) log.log(log.PARSER, log.DEBUG, "Parsed set, AST is %s" % (set)) return set @@ -282,11 +282,11 @@ log.log(log.PARSER, log.TRACE, "Parsing if test condition...") context = self.create_context(context, "parsing if directive") self.next() # Skip 'If' - test = self.parse_statement(context, "then", "test condition") + test = self.parse_statement(context, "Then", "test condition") log.log(log.PARSER, log.TRACE, "Parsing if success statement...") - success = self.parse_statement(context, "else", "success") + success = self.parse_statement(context, "Else", "success") log.log(log.PARSER, log.TRACE, "Parsing if failure statement...") - failure = self.parse_statement(context, "endif", "failure") + failure = self.parse_statement(context, "EndIf", "failure") conditional = Conditional(test, success, failure) log.log(log.PARSER, log.DEBUG, "Parsed if, AST is %s" % (conditional)) return conditional @@ -296,14 +296,14 @@ if token.type != "keyword" and token.type != "symbol": raise self.create_error(context, "Expected keyword or symbol, got %s" % (token.type)) if token.type == "keyword": - if token.value == "set": + if token.value == "Set": return self.parse_set(context) - elif token.value == "if": + elif token.value == "If": return self.parse_if(context) else: raise self.create_error(context, "Unexpected keyword %s" % (token.value)) else: - ast = self.parse_statement(context, "done", "command") + ast = self.parse_statement(context, "Done", "command") return ast def parse_file(self):