@@ -36,6 +36,26 @@ def __init__(self,
36
36
for box in boxes :
37
37
self ._nonterminal_to_box [box .nonterminal ] = box
38
38
39
+ @property
40
+ def nonterminals (self ) -> Set [Symbol ]:
41
+ """ The set of nonterminals """
42
+ return set (self ._nonterminal_to_box .keys ())
43
+
44
+ @property
45
+ def boxes (self ) -> Set [Box ]:
46
+ """ The set of boxes """
47
+ return set (self ._nonterminal_to_box .values ())
48
+
49
+ @property
50
+ def start_nonterminal (self ) -> Symbol :
51
+ """ The start nonterminal """
52
+ return self ._start_nonterminal
53
+
54
+ @property
55
+ def start_box (self ) -> Box :
56
+ """ The start box """
57
+ return self ._nonterminal_to_box [self .start_nonterminal ]
58
+
39
59
def get_box_by_nonterminal (self , nonterminal : Hashable ) -> Optional [Box ]:
40
60
"""
41
61
Box by nonterminal
@@ -58,26 +78,6 @@ def get_number_boxes(self) -> int:
58
78
""" Size of set of boxes """
59
79
return len (self ._nonterminal_to_box )
60
80
61
- @property
62
- def nonterminals (self ) -> Set [Symbol ]:
63
- """ The set of nonterminals """
64
- return set (self ._nonterminal_to_box .keys ())
65
-
66
- @property
67
- def boxes (self ) -> Set [Box ]:
68
- """ The set of boxes """
69
- return set (self ._nonterminal_to_box .values ())
70
-
71
- @property
72
- def start_nonterminal (self ) -> Symbol :
73
- """ The start nonterminal """
74
- return self ._start_nonterminal
75
-
76
- @property
77
- def start_box (self ) -> Box :
78
- """ The start box """
79
- return self ._nonterminal_to_box [self .start_nonterminal ]
80
-
81
81
@classmethod
82
82
def from_regex (cls , regex : Regex , start_nonterminal : Hashable ) \
83
83
-> "RecursiveAutomaton" :
0 commit comments