@@ -187,82 +187,82 @@ def _simplify_conditional_blocks(text):
187187 Raises a ValueError if an unmatched \if or \else is found.
188188 """
189189 p = regex .compile (r'(?!(?<=\\newif\s*))\\if\s*(\w+)|\\else(?!\w)|\\fi(?!\w)' )
190- toplevel_tree = { " left" : [], " kind" : " toplevel" , " parent" : None }
190+ toplevel_tree = {' left' : [], ' kind' : ' toplevel' , ' parent' : None }
191191
192192 tree = toplevel_tree
193193
194194 def new_subtree (kind ):
195- return { " kind" : kind , " left" : [], " right" : [] }
196-
195+ return {' kind' : kind , ' left' : [], ' right' : []}
196+
197197 def add_subtree (tree , subtree ):
198- if " else" not in tree :
199- tree [" left" ].append (subtree )
198+ if ' else' not in tree :
199+ tree [' left' ].append (subtree )
200200 else :
201- tree [" right" ].append (subtree )
202- subtree [" parent" ] = tree
201+ tree [' right' ].append (subtree )
202+ subtree [' parent' ] = tree
203203
204204 for m in p .finditer (text ):
205205 m_no_space = m .group ().replace (' ' , '' )
206- if ( m_no_space == r'\iffalse' or m_no_space == r'\if0' ) :
207- subtree = new_subtree (" iffalse" )
208- subtree [" start" ] = m
206+ if m_no_space == r'\iffalse' or m_no_space == r'\if0' :
207+ subtree = new_subtree (' iffalse' )
208+ subtree [' start' ] = m
209209 add_subtree (tree , subtree )
210210 tree = subtree
211- elif ( m_no_space == r'\iftrue' or m_no_space == r'\if1' ) :
212- subtree = new_subtree (" iftrue" )
213- subtree [" start" ] = m
211+ elif m_no_space == r'\iftrue' or m_no_space == r'\if1' :
212+ subtree = new_subtree (' iftrue' )
213+ subtree [' start' ] = m
214214 add_subtree (tree , subtree )
215215 tree = subtree
216216 elif m_no_space .startswith (r'\if' ):
217- subtree = new_subtree (" unknown" )
218- subtree [" start" ] = m
217+ subtree = new_subtree (' unknown' )
218+ subtree [' start' ] = m
219219 add_subtree (tree , subtree )
220220 tree = subtree
221- elif ( m_no_space == r'\else' ) :
222- if tree [" parent" ] is None :
221+ elif m_no_space == r'\else' :
222+ if tree [' parent' ] is None :
223223 os .sys .stderr .write ('Warning: Ignoring unmatched \\ else!\n ' )
224224 continue
225225 tree ['else' ] = m
226226 elif m .group () == r'\fi' :
227- if tree [" parent" ] is None :
227+ if tree [' parent' ] is None :
228228 os .sys .stderr .write ('Warning: Ignoring unmatched \\ fi!\n ' )
229229 continue
230- tree [" end" ] = m
231- tree = tree [" parent" ]
230+ tree [' end' ] = m
231+ tree = tree [' parent' ]
232232 else :
233233 raise ValueError ('Unreachable!' )
234- if tree [" parent" ] is not None :
234+ if tree [' parent' ] is not None :
235235 raise ValueError (f"Unmatched { tree ['start' ].group ()} " )
236236
237237 positions_to_delete = []
238-
238+
239239 def traverse_tree (tree ):
240- if tree [" kind" ] == " iffalse" :
241- if " else" in tree :
242- positions_to_delete .append ((tree [" start" ].start (), tree [" else" ].end ()))
243- for subtree in tree [" right" ]:
240+ if tree [' kind' ] == ' iffalse' :
241+ if ' else' in tree :
242+ positions_to_delete .append ((tree [' start' ].start (), tree [' else' ].end ()))
243+ for subtree in tree [' right' ]:
244244 traverse_tree (subtree )
245- positions_to_delete .append ((tree [" end" ].start (), tree [" end" ].end ()))
245+ positions_to_delete .append ((tree [' end' ].start (), tree [' end' ].end ()))
246246 else :
247- positions_to_delete .append ((tree [" start" ].start (), tree [" end" ].end ()))
248- elif tree [" kind" ] == " iftrue" :
249- if " else" in tree :
250- positions_to_delete .append ((tree [" start" ].start (), tree [" start" ].end ()))
251- for subtree in tree [" left" ]:
247+ positions_to_delete .append ((tree [' start' ].start (), tree [' end' ].end ()))
248+ elif tree [' kind' ] == ' iftrue' :
249+ if ' else' in tree :
250+ positions_to_delete .append ((tree [' start' ].start (), tree [' start' ].end ()))
251+ for subtree in tree [' left' ]:
252252 traverse_tree (subtree )
253- positions_to_delete .append ((tree [" else" ].start (), tree [" end" ].end ()))
253+ positions_to_delete .append ((tree [' else' ].start (), tree [' end' ].end ()))
254254 else :
255- positions_to_delete .append ((tree [" start" ].start (), tree [" start" ].end ()))
256- positions_to_delete .append ((tree [" end" ].start (), tree [" end" ].end ()))
257- elif tree [" kind" ] == " unknown" :
258- for subtree in tree [" left" ]:
255+ positions_to_delete .append ((tree [' start' ].start (), tree [' start' ].end ()))
256+ positions_to_delete .append ((tree [' end' ].start (), tree [' end' ].end ()))
257+ elif tree [' kind' ] == ' unknown' :
258+ for subtree in tree [' left' ]:
259259 traverse_tree (subtree )
260- for subtree in tree [" right" ]:
260+ for subtree in tree [' right' ]:
261261 traverse_tree (subtree )
262262 else :
263263 raise ValueError ('Unreachable!' )
264264
265- for tree in toplevel_tree [" left" ]:
265+ for tree in toplevel_tree [' left' ]:
266266 traverse_tree (tree )
267267
268268 for start , end in reversed (positions_to_delete ):
0 commit comments