diff options
Diffstat (limited to 'compilador/parse/unit.py')
-rw-r--r-- | compilador/parse/unit.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/compilador/parse/unit.py b/compilador/parse/unit.py new file mode 100644 index 0000000..954b8b4 --- /dev/null +++ b/compilador/parse/unit.py @@ -0,0 +1,15 @@ + +from errors import Error +from astree.unit import Unit +from parse.base import BaseParser +from parse.decl import ParseDecl + +class ParseUnit: + def __init__(self, parser: BaseParser): + self.parser: BaseParser = parser + + def unit(self) -> (Unit | Error): + decls = ParseDecl(self.parser).decls() + if type(decls) is Error: + return decls + return Unit(decls = decls) |