diff --git a/src/python/flowmetal/parser.py b/src/python/flowmetal/parser.py index c390a9a..ccfba1e 100644 --- a/src/python/flowmetal/parser.py +++ b/src/python/flowmetal/parser.py @@ -238,7 +238,7 @@ class Parser(SexpParser): @classmethod def ispunct(cls, ch: str): - return cls.isspace(ch) or ch in ( + return ch in ( ';' # Semicolon '()' # Parens '⟮⟯' # 'flat' parens @@ -328,7 +328,7 @@ class Parser(SexpParser): def parse_symbol(cls, f: PosTrackingBufferedReader): with ReadThroughBuffer(f) as rtb: pos = None - while rtb.peek() and not cls.ispunct(rtb.peek()): + while rtb.peek() and not cls.isspace(rtb.peek()) and not cls.ispunct(rtb.peek()): pos = pos or rtb.pos() rtb.read() buff = str(rtb)