diff --git a/src/parse.py b/src/parse.py index c54226f..faaf8f7 100644 --- a/src/parse.py +++ b/src/parse.py @@ -32,17 +32,17 @@ ) -# Represents a stream of consumable tokens -class TokenStream: - def __init__(self, tokens): - self.tokens = tokens +# Represents a stream of consumable syntax nodes +class SyntaxStream: + def __init__(self, nodes): + self.nodes = nodes def __repr__(self): - return "TokenStream(tokens %s)" % (self.tokens) # pragma: no mutate + return "SyntaxStream(%s)" % (self.nodes) # pragma: no mutate def pop(self): - if self.tokens: - return self.tokens.pop(0) + if self.nodes: + return self.nodes.pop(0) else: return None diff --git a/tests/test_parse.py b/tests/test_parse.py index 61c043d..7f82442 100644 --- a/tests/test_parse.py +++ b/tests/test_parse.py @@ -67,19 +67,19 @@ return (input, tokens) -# Tests a token stream reads tokens correctly +# Tests that a syntax stream reads items correctly # We expect the following behaviour: -# - All tokens are popped in order -# - None tokens are returned at the end of the stream -@given(lists(test_tokenize.draw_token_random())) -def test_parse_token_stream(tokens): - stream = parse.TokenStream(tokens.copy()) +# - All items are popped in order +# - None is returned at the end of the stream +@given(lists(draw_syntax_random())) +def test_parse_syntax_stream(nodes): + stream = parse.SyntaxStream(nodes.copy()) read = [] - token = stream.pop() - while token is not None: - read.append(token) - token = stream.pop() - assert read == tokens + node = stream.pop() + while node is not None: + read.append(node) + node = stream.pop() + assert read == nodes assert stream.pop() is None