File tree Expand file tree Collapse file tree
src/regex_automata/parser Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1- : [ ![ CI - build] ( https://img.shields.io/github/actions/workflow/status/tkarabela/miscreaders/main.yml?branch=master )] ( https://github.com/tkarabela/miscreaders/actions )
1+ [ ![ CI - build] ( https://img.shields.io/github/actions/workflow/status/tkarabela/miscreaders/main.yml?branch=master )] ( https://github.com/tkarabela/miscreaders/actions )
22[ ![ CI - coverage] ( https://img.shields.io/codecov/c/github/tkarabela/miscreaders )] ( https://app.codecov.io/github/tkarabela/miscreaders )
33[ ![ MyPy & Ruffle checked] ( https://img.shields.io/badge/MyPy%20%26%20Ruffle-checked-blue?style=flat )] ( https://github.com/tkarabela/pysubs2/actions )
44
Original file line number Diff line number Diff line change @@ -61,9 +61,7 @@ def p1(self) -> AstNode:
6161 """
6262 # F
6363 match self .peek ():
64- case LPar ():
65- F = self .p4 ()
66- case Character ():
64+ case LPar () | Character ():
6765 F = self .p4 ()
6866 case _:
6967 self .error ()
@@ -73,9 +71,7 @@ def p1(self) -> AstNode:
7371 match self .peek ():
7472 case Pipe ():
7573 Eprime = self .p2 ()
76- case RPar ():
77- Eprime = self .p3 ()
78- case None :
74+ case RPar () | None :
7975 Eprime = self .p3 ()
8076 case _:
8177 self .error ()
@@ -95,9 +91,7 @@ def p2(self) -> AstNode:
9591
9692 # E
9793 match self .peek ():
98- case LPar ():
99- E = self .p1 ()
100- case Character ():
94+ case LPar () | Character ():
10195 E = self .p1 ()
10296 case _:
10397 self .error ()
@@ -109,7 +103,6 @@ def p3(self) -> None:
109103 """
110104 E' -> ε
111105 """
112-
113106 return None
114107
115108 @rule
@@ -119,25 +112,17 @@ def p4(self) -> AstNode:
119112 """
120113 # G
121114 match self .peek ():
122- case LPar ():
123- G = self .p7 ()
124- case Character ():
115+ case LPar () | Character ():
125116 G = self .p7 ()
126117 case _:
127118 self .error ()
128119
129120 # F'
130121 Fprime : AstNode | None
131122 match self .peek ():
132- case LPar ():
133- Fprime = self .p5 ()
134- case Character ():
123+ case LPar () | Character ():
135124 Fprime = self .p5 ()
136- case Pipe ():
137- Fprime = self .p6 ()
138- case RPar ():
139- Fprime = self .p6 ()
140- case None :
125+ case Pipe () | RPar () | None :
141126 Fprime = self .p6 ()
142127 case _:
143128 self .error ()
@@ -154,25 +139,17 @@ def p5(self) -> AstNode:
154139 """
155140 # G
156141 match self .peek ():
157- case LPar ():
158- G = self .p7 ()
159- case Character ():
142+ case LPar () | Character ():
160143 G = self .p7 ()
161144 case _:
162145 self .error ()
163146
164147 # F'
165148 Fprime : AstNode | None
166149 match self .peek ():
167- case LPar ():
168- Fprime = self .p5 ()
169- case Character ():
150+ case LPar () | Character ():
170151 Fprime = self .p5 ()
171- case Pipe ():
172- Fprime = self .p6 ()
173- case RPar ():
174- Fprime = self .p6 ()
175- case None :
152+ case Pipe () | RPar () | None :
176153 Fprime = self .p6 ()
177154 case _:
178155 self .error ()
@@ -205,17 +182,9 @@ def p7(self) -> AstNode:
205182
206183 # G'
207184 match self .peek ():
208- case LPar ():
209- Gprime = self .p9 (H )
210- case Character ():
211- Gprime = self .p9 (H )
212- case Pipe ():
213- Gprime = self .p9 (H )
214185 case Star ():
215186 Gprime = self .p8 (H )
216- case RPar ():
217- Gprime = self .p9 (H )
218- case None :
187+ case LPar () | Character () | Pipe () | RPar () | None :
219188 Gprime = self .p9 (H )
220189 case _:
221190 self .error ()
@@ -247,9 +216,7 @@ def p10(self) -> AstNode:
247216
248217 # E
249218 match self .peek ():
250- case LPar ():
251- E = self .p1 ()
252- case Character ():
219+ case LPar () | Character ():
253220 E = self .p1 ()
254221 case _:
255222 self .error ()
You can’t perform that action at this time.
0 commit comments