diff --git a/parse.py b/parse.py index 20b41ca..e2e3803 100644 --- a/parse.py +++ b/parse.py @@ -20,7 +20,7 @@ def __init__(self, input): self.code = input self.pos = 0 - self.pos_line = 2 # Start at line 2 due to shebang + self.pos_line = 1 self.pos_column = 1 def next(self): @@ -74,7 +74,14 @@ else: return self.code[start:self.pos - len(" EndText")] + def skip_shebang(self): + next_line = self.code.find('\n') + 1 + self.code = self.code[next_line:] + self.pos_line = 2 + def tokenize(self): + if self.code[0:2] == '#!': + self.skip_shebang() keywords = ["NewLang", "Done", "Set", "To", "EndSet", "If", "Then", "Else", "EndIf"] tokens = [] @@ -318,9 +325,6 @@ def parse_file(filename): code = open(filename).read() - if code[0:2] == '#!': - next_line = code.find('\n') + 1 - code = code[next_line:] tokenizer = Tokenizer(code) tokens = tokenizer.tokenize() try: