Castle: The best Real-Time/Embedded/HighTech language EVER. Attempt 2
Revision | 26ce8d9be74c0a180c39a4f353472d532679bf9e (tree) |
---|---|
Time | 2022-04-24 00:56:02 |
Author | Albert Mietus < albert AT mietus DOT nl > |
Commiter | Albert Mietus < albert AT mietus DOT nl > |
Refactor: cleanup some code
@@ -38,10 +38,11 @@ | ||
38 | 38 | super().__init__(read_dirs=read_dirs, **kwargs) |
39 | 39 | if language_def is None: |
40 | 40 | raise ValueError("The `language_def` is a mandatory parameter") |
41 | + # comment_def is allowed to be None | |
41 | 42 | if visitor is None: |
42 | 43 | raise ValueError("visitor is a mandatory parameter") |
43 | - self._language_def = language_def | |
44 | - self._comment_def = comment_def # Can be None | |
44 | + | |
45 | + self._parser = arpeggio.ParserPython(language_def=language_def, comment_def=comment_def) | |
45 | 46 | self._visitor = visitor |
46 | 47 | |
47 | 48 |
@@ -53,9 +54,7 @@ | ||
53 | 54 | |
54 | 55 | |
55 | 56 | def _do_parse(self, txt): |
56 | - parser = arpeggio.ParserPython(language_def=self._language_def, comment_def=self._comment_def) | |
57 | - | |
58 | - pt = parser.parse(txt) | |
57 | + pt = self._parser.parse(txt) | |
59 | 58 | logger.info(f"Reader:_do_parse::\t parse_tree: start={pt.position} end={pt.position_end}; len(txt)={len(txt)}") |
60 | 59 | |
61 | 60 | ast = arpeggio.visit_parse_tree(pt, self._visitor) |