aboutsummaryrefslogtreecommitdiff
path: root/compilador/parse/ident.py
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2022-11-25 12:11:08 -0600
committerIván Ávalos <avalos@disroot.org>2022-11-25 12:11:08 -0600
commiteb4a3019bc0251e5b2b8229679e3c65d61d55336 (patch)
treef6b2a89dd35374272bd671933bfe87da4a587215 /compilador/parse/ident.py
parent6b4e9a4e95eb511c194200e38ee323091dc5d7d2 (diff)
downloadjavanol-eb4a3019bc0251e5b2b8229679e3c65d61d55336.tar.gz
javanol-eb4a3019bc0251e5b2b8229679e3c65d61d55336.tar.bz2
javanol-eb4a3019bc0251e5b2b8229679e3c65d61d55336.zip
Buen progreso, pero se cicla
Diffstat (limited to 'compilador/parse/ident.py')
-rw-r--r--compilador/parse/ident.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/compilador/parse/ident.py b/compilador/parse/ident.py
new file mode 100644
index 0000000..5887fa2
--- /dev/null
+++ b/compilador/parse/ident.py
@@ -0,0 +1,15 @@
+
+from tabla import Token, LexToken
+from parse.base import BaseParser
+from astree.ident import Ident
+from errors import Error
+
+class ParseIdent:
+ def __init__(self, parser: BaseParser):
+ self.parser = parser
+
+ def ident(self) -> (Ident | Error):
+ tok: LexToken = self.parser.want(Token.IDENT)
+ if type(tok) is Error:
+ return tok
+ return tok.nombre