summaryrefslogtreecommitdiffstats
path: root/src/front/parser.py
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2009-06-28 15:10:57 +0200
committerAlexander Sulfrian <alexander@sulfrian.net>2009-06-28 15:10:57 +0200
commita4f2a248273064ec464e7d376f8f5778ac808bd6 (patch)
treeb2a0eed3f983181f91a96fc1b9e221c03e05a6fa /src/front/parser.py
parent41a2c1fdaa07b3b51bf6073bf6fbb0156b085fa5 (diff)
downloadswppy-a4f2a248273064ec464e7d376f8f5778ac808bd6.tar.gz
swppy-a4f2a248273064ec464e7d376f8f5778ac808bd6.tar.xz
swppy-a4f2a248273064ec464e7d376f8f5778ac808bd6.zip
fixed error with not newline at file end
moved __init__.py with testcode from src/front to src/ added in lexer "\n\n" at source end to have a newline at file end added unexpected end of file message, if matched token is None
Diffstat (limited to 'src/front/parser.py')
-rw-r--r--src/front/parser.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/front/parser.py b/src/front/parser.py
index 9e738d3..29e300d 100644
--- a/src/front/parser.py
+++ b/src/front/parser.py
@@ -23,6 +23,9 @@ class Parser:
raise Exception(msg)
def match(self, tag):
+ if self.token == None:
+ self.error("Unexpected end of file.")
+
if self.token.tag != tag:
self.error("match: expected %s got %s\n" %(tag, self.token.tag))
val = self.token.value
@@ -155,7 +158,7 @@ class Parser:
# function_list = function { function }.
def function_list(self):
funcs = [self.function()]
- while self.token != None:
+ while self.token:
funcs.append(self.function())
return funcs