• R/O
  • SSH

Commit

Tags
Keine Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Castle: The best Real-Time/Embedded/HighTech language EVER. Attempt 2


Commit MetaInfo

Revision3dbe821e87c434fbf6b11561ceaecbf1da510a3a (tree)
Zeit2022-02-16 06:36:49
AutorAlbert Mietus < albert AT mietus DOT nl >
CommiterAlbert Mietus < albert AT mietus DOT nl >

Log Message

Sequence is now a list (tuple) of children. All tests PASS. Done

Ändern Zusammenfassung

Diff

diff -r a2721885306d -r 3dbe821e87c4 Makefile
--- a/Makefile Tue Feb 15 22:21:12 2022 +0100
+++ b/Makefile Tue Feb 15 22:36:49 2022 +0100
@@ -16,10 +16,10 @@
1616
1717 python-demo:
1818 @echo Running all 'dem*.py' python-files
19- for d in `find demos -type f -iname \*.py `; do echo "=== $$d ==="; python $$d; echo "=========="; done
19+ export PYTHONPATH=`pwd`; for d in `find demos -type f -iname \*.py `; do echo "=== $$d ==="; python $$d; echo "=========="; done
2020
2121 pytest-demo:
22- pytest -s demos
22+ PYTHONPATH=`pwd` pytest -s demos
2323
2424
2525 missing_visitor: castle/readers/parser/grammar.py
diff -r a2721885306d -r 3dbe821e87c4 castle/ast/ast2xml.py
--- a/castle/ast/ast2xml.py Tue Feb 15 22:21:12 2022 +0100
+++ b/castle/ast/ast2xml.py Tue Feb 15 22:36:49 2022 +0100
@@ -57,9 +57,9 @@
5757 def RegExpTerm2xml(self, ast, parent): self._MixIn_value_attribute2xml(ast, parent, 'RegExpTerm')
5858
5959 def Sequence2xml(self, ast, parent) ->None:
60- logger.debug(f"Sequence2xml::ast={ast._valType(ast.value)}")
60+ logger.debug(f"Sequence2xml::ast={ast._valType(ast._children)}")
6161 seq = ET.SubElement(parent, 'Sequence')
62- for elm in ast.value:
62+ for elm in ast:
6363 self._ast2xml(elm, parent=seq)
6464
6565 def Rule2xml(self, ast, parent) ->None:
diff -r a2721885306d -r 3dbe821e87c4 castle/ast/peg.py
--- a/castle/ast/peg.py Tue Feb 15 22:21:12 2022 +0100
+++ b/castle/ast/peg.py Tue Feb 15 22:36:49 2022 +0100
@@ -44,13 +44,13 @@
4444 logger.debug(f'{self._typeName(self)}.MixIn_children_tuple:: children[{len(children)}]:=' +
4545 ('[[' +', '.join(f'{c}:{type(c).__name__}' for c in children) + ']]') if isinstance(children, list) else f's>>{children}<<')
4646 super().__init__(**kwargs)
47- self._childeren = tuple(children)
47+ self._children = tuple(children)
4848
4949 def __len__(self):
50- return len(self._childeren)
50+ return len(self._children)
5151 def __getitem__(self, key):
52- return self._childeren[key]
53- def __iter__(self): return self._childeren.__iter__()
52+ return self._children[key]
53+ def __iter__(self): return self._children.__iter__()
5454
5555
5656 ##
@@ -128,7 +128,7 @@
128128 #class Sequence(MixIn_value_attribute, Expression):
129129 class Sequence(MixIn_children_tuple, Expression):
130130 """A sequence of expressions; can be of length=1"""
131- # __init__ (see MixIn) sets self._childeren; assuming it is a list
131+ # __init__ (see MixIn) sets self._children; assuming it is a list
132132
133133 def __str__(self): # mostly for debugging
134134 return "Seq{{" + " ; ".join(f"{c}" for c in self) + "}}"
@@ -138,7 +138,7 @@
138138 """OC: A _tuple_ of alternative expressions"""
139139
140140 def __str__(self): # mostly for debugging
141- return "OC{{" + " | ".join(f"{c}" for c in self._childeren) + "}}"
141+ return "OC{{" + " | ".join(f"{c}" for c in self._children) + "}}"
142142
143143 class Optional(Quantity):pass
144144 class ZeroOrMore(Quantity):pass
diff -r a2721885306d -r 3dbe821e87c4 pytst/ast/XML_serialization/__init__.py
--- a/pytst/ast/XML_serialization/__init__.py Tue Feb 15 22:21:12 2022 +0100
+++ b/pytst/ast/XML_serialization/__init__.py Tue Feb 15 22:36:49 2022 +0100
@@ -12,7 +12,7 @@
1212 e1 = peg.ID(name=self.n1)
1313 e2 = peg.StrTerm(value=self.v2)
1414 e3 = peg.RegExpTerm(value=self.v3)
15- self.seq = peg.Sequence(value=[e1, e2, e3])
15+ self.seq = peg.Sequence(children=[e1, e2, e3])
1616 def assert_xml_Element(self, txt):
1717 assert_xml_Element(txt, tag='.//Sequence')
1818 assert_xml_Element(txt, tag='.//ID', name=self.n1)
diff -r a2721885306d -r 3dbe821e87c4 pytst/ast/XML_serialization/test_1_simpleXML.py
--- a/pytst/ast/XML_serialization/test_1_simpleXML.py Tue Feb 15 22:21:12 2022 +0100
+++ b/pytst/ast/XML_serialization/test_1_simpleXML.py Tue Feb 15 22:36:49 2022 +0100
@@ -30,7 +30,7 @@
3030
3131 def test_Sequence_1(xml_serialize):
3232 e1 = peg.ID(name='ID_1')
33- txt= xml_serialize(peg.Sequence(value=[e1]))
33+ txt= xml_serialize(peg.Sequence(children=[e1]))
3434 logger.debug(f'XML:: {txt}')
3535 assert_xml_Element(txt, tag='Sequence')
3636 assert_xml_Element(txt, tag='.//ID', name='ID_1')
@@ -48,7 +48,7 @@
4848 def test_Rule_1ID(xml_serialize):
4949 rule_name = "RuleName"
5050 xref = "cross_ref"
51- expr = peg.Sequence(value=[peg.ID(name=xref)])
51+ expr = peg.Sequence(children=[peg.ID(name=xref)])
5252
5353 txt = xml_serialize(peg.Rule(name=peg.ID(name=rule_name), expr=expr))
5454 logger.debug(f'XML:: {txt}')
@@ -69,8 +69,8 @@
6969
7070
7171 def test_Rules(xml_serialize):
72- r1 = peg.Rule(name=peg.ID(name='rule_1'), expr=peg.Sequence(value=[peg.ID(name='id1')]))
73- r2 = peg.Rule(name=peg.ID(name='rule_2'), expr=peg.Sequence(value=[peg.StrTerm(value='str2')]))
72+ r1 = peg.Rule(name=peg.ID(name='rule_1'), expr=peg.Sequence(children=[peg.ID(name='id1')]))
73+ r2 = peg.Rule(name=peg.ID(name='rule_2'), expr=peg.Sequence(children=[peg.StrTerm(value='str2')]))
7474
7575 txt = xml_serialize(peg.Rules(children=[r1,r2]))
7676 logger.debug(f'XML:: {txt}')