From 9921d9fccd06fb69a4f51ae916845beb649ace21 Mon Sep 17 00:00:00 2001 From: Antoine Viallon Date: Thu, 11 Jan 2024 00:55:08 +0100 Subject: [PATCH] main: convert to use new iterator Lexer --- compiler/__main__.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/compiler/__main__.py b/compiler/__main__.py index 28ca82c..17f43aa 100644 --- a/compiler/__main__.py +++ b/compiler/__main__.py @@ -1,12 +1,12 @@ from __future__ import annotations import argparse +import collections.abc import sys -from pprint import pprint from . import semantic, ir, optimizations from .errors import CompilationError, CompilationWarning -from .lexer import Lexer, Tokens +from .lexer import Lexer, Tokens, Token from .logger import rootLogger, LogLevel from .parser import Parser @@ -36,11 +36,9 @@ def main(): data = sys.stdin.read().strip() print("Source:\n", data) - tokens = Lexer(data) - - tokens = [token for token in tokens if token.kind not in [Tokens.Blank, Tokens.Newline, Tokens.Comment]] - if rootLogger.level <= LogLevel.Debug: - pprint(tokens) + tokens: collections.abc.Iterator[Token] = \ + Lexer(data, + token_filter=lambda token: token.kind not in [Tokens.Blank, Tokens.Newline, Tokens.Comment]) parser = Parser(tokens) try: