From 52d6d2107f14398ae59baaa893d596fb239c4679 Mon Sep 17 00:00:00 2001 From: Iván Ávalos Date: Fri, 25 Nov 2022 13:14:35 -0600 Subject: Ya funcionan decl_global y decl_func --- compilador/parse/base.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'compilador/parse/base.py') diff --git a/compilador/parse/base.py b/compilador/parse/base.py index a8f6f8a..49742e6 100644 --- a/compilador/parse/base.py +++ b/compilador/parse/base.py @@ -7,12 +7,13 @@ from errors import Error from typing import NoReturn from more_itertools import seekable +from nanoiter import NanoIter from tabla import TablaLex, Token from errors import Error class BaseParser: - def __init__(self, iterador: seekable): - self.iterador: seekable = iterador + def __init__(self, iterador: NanoIter): + self.iterador: NanoIter = iterador ''' Requires the next token to have a matching ltok. Returns that token, or an error. ''' @@ -49,10 +50,10 @@ class BaseParser: return tok def lex(self): - return next(self.iterador) + return self.iterador.next() def unlex(self): - self.iterador.seek(-1) + self.iterador.back() ''' Returns a syntax error if cond is false and void otherwise ''' def synassert(self, cond: bool, msg: str) -> (Error | NoReturn): -- cgit v1.2.3