Castle: The best Real-Time/Embedded/HighTech language EVER. Attempt 2
Revisão | 59d7c5703ac0f8736ec8c791dd8d10426ece086d (tree) |
---|---|
Hora | 2022-04-23 04:44:04 |
Autor | Albert Mietus < albert AT mietus DOT nl > |
Commiter | Albert Mietus < albert AT mietus DOT nl > |
Fixed demos after the refactor/cleanup introduced a BUG
@@ -2,7 +2,7 @@ | ||
2 | 2 | |
3 | 3 | import sys |
4 | 4 | sys.path.append("./../");sys.path.append("./../../") |
5 | -from castle.ast import peg | |
5 | +from castle.ast import grammar as AST | |
6 | 6 | |
7 | 7 | demo_3_rules = ( |
8 | 8 | { 'name' : 'peg_grammar', |
@@ -22,16 +22,16 @@ | ||
22 | 22 | |
23 | 23 | |
24 | 24 | def demo_4A(): |
25 | - rules = [ peg.Rule( name=peg.ID(name=r['name']), expr=r['expr']) for r in demo_3_rules] | |
26 | - settings = [ peg.Setting( name=s['name'], value=s['value']) for s in demo_3_settings] | |
25 | + rules = [ AST.Rule( name=AST.ID(name=r['name']), expr=r['expr']) for r in demo_3_rules] | |
26 | + settings = [ AST.Setting( name=s['name'], value=s['value']) for s in demo_3_settings] | |
27 | 27 | |
28 | 28 | producer = Demo1(default_template='file.jinja2') |
29 | 29 | return producer.render(rules=rules, settings=settings) |
30 | 30 | |
31 | 31 | def demo_4B(): |
32 | - all_rules = ([ peg.Rule( name=peg.ID(name=r['name']), expr=r['expr']) for r in demo_3_rules] + | |
33 | - [ peg.Setting( name=s['name'], value=s['value']) for s in demo_3_settings] ) | |
34 | - grammar = peg.Grammar(all_rules=all_rules) | |
32 | + all_rules = ([ AST.Rule( name=AST.ID(name=r['name']), expr=r['expr']) for r in demo_3_rules] + | |
33 | + [ AST.Setting( name=s['name'], value=s['value']) for s in demo_3_settings] ) | |
34 | + grammar = AST.Grammar(all_rules=all_rules) | |
35 | 35 | producer = Demo1(default_template='ast.jinja2') |
36 | 36 | return producer.render(grammar=grammar) |
37 | 37 |
@@ -2,7 +2,7 @@ | ||
2 | 2 | import logging; logger = logging.getLogger(__name__) |
3 | 3 | |
4 | 4 | from castle.readers.parser import grammar, visitor |
5 | -from castle.ast import peg | |
5 | +from castle.ast import grammar as AST | |
6 | 6 | |
7 | 7 | import arpeggio |
8 | 8 | import jinja2 |
@@ -15,7 +15,7 @@ | ||
15 | 15 | self.read_dirs = [ _get_file_dirPath() / d for d in read_dirs] |
16 | 16 | |
17 | 17 | |
18 | - def parse(self, filename:str) -> peg.Grammar: | |
18 | + def parse(self, filename:str) -> AST.Grammar: | |
19 | 19 | txt = self._read(filename) |
20 | 20 | ast = self._do_parse(txt) |
21 | 21 | return ast |
@@ -30,7 +30,7 @@ | ||
30 | 30 | return txt |
31 | 31 | |
32 | 32 | |
33 | - def _do_parse(self, txt) -> peg.Grammar: | |
33 | + def _do_parse(self, txt) -> AST.Grammar: | |
34 | 34 | parser = arpeggio.ParserPython(grammar.peg_grammar, comment_def = grammar.comment) |
35 | 35 | pt = parser.parse(txt) |
36 | 36 | logger.info(f"Reader:_do_parse::\t parse_tree: start={pt.position} end={pt.position_end}; len(txt)={len(txt)}") |