4040 ParseResults , Suppress , oneOf , StringEnd , ParseFatalException , \
4141 FollowedBy , Regex , ParserElement , QuotedString , ParseBaseException
4242
43- # Enable packrat parsing
44- if (sys .version_info [0 ] >= 3 and
45- [int (x ) for x in pyparsing .__version__ .split ('.' )] < [2 , 0 , 0 ]):
46- warn ("Due to a bug in pyparsing <= 2.0.0 on Python 3.x, packrat parsing "
47- "has been disabled. Mathtext rendering will be much slower as a "
48- "result. Install pyparsing 2.0.0 or later to improve performance." )
49- else :
50- ParserElement .enablePackrat ()
43+ ParserElement .enablePackrat ()
5144
5245from matplotlib .afm import AFM
5346from matplotlib .cbook import Bunch , get_realpath_and_stat , \
@@ -2179,69 +2172,69 @@ def __init__(self):
21792172 if key != 'self' :
21802173 val .setName (key )
21812174
2182- float_literal << Regex (r"[-+]?([0-9]+\.?[0-9]*|\.[0-9]+)" )
2183- int_literal << Regex ("[-+]?[0-9]+" )
2175+ float_literal <<= Regex (r"[-+]?([0-9]+\.?[0-9]*|\.[0-9]+)" )
2176+ int_literal <<= Regex ("[-+]?[0-9]+" )
21842177
2185- lbrace << Literal ('{' ).suppress ()
2186- rbrace << Literal ('}' ).suppress ()
2187- lbracket << Literal ('[' ).suppress ()
2188- rbracket << Literal (']' ).suppress ()
2189- bslash << Literal ('\\ ' )
2178+ lbrace <<= Literal ('{' ).suppress ()
2179+ rbrace <<= Literal ('}' ).suppress ()
2180+ lbracket <<= Literal ('[' ).suppress ()
2181+ rbracket <<= Literal (']' ).suppress ()
2182+ bslash <<= Literal ('\\ ' )
21902183
2191- space << oneOf (self ._space_widths .keys ())
2192- customspace << (Suppress (Literal (r'\hspace' ))
2184+ space <<= oneOf (self ._space_widths .keys ())
2185+ customspace <<= (Suppress (Literal (r'\hspace' ))
21932186 - ((lbrace + float_literal + rbrace )
21942187 | Error (r"Expected \hspace{n}" )))
21952188
21962189 unicode_range = u"\U00000080 -\U0001ffff "
2197- single_symbol << Regex (UR"([a-zA-Z0-9 +\-*/<>=:,.;!\?&'@()\[\]|%s])|(\\[%%${}\[\]_|])" %
2190+ single_symbol <<= Regex (UR"([a-zA-Z0-9 +\-*/<>=:,.;!\?&'@()\[\]|%s])|(\\[%%${}\[\]_|])" %
21982191 unicode_range )
2199- symbol_name << (Combine (bslash + oneOf (tex2uni .keys ())) +
2192+ symbol_name <<= (Combine (bslash + oneOf (tex2uni .keys ())) +
22002193 FollowedBy (Regex ("[^A-Za-z]" ).leaveWhitespace () | StringEnd ()))
2201- symbol << (single_symbol | symbol_name ).leaveWhitespace ()
2194+ symbol <<= (single_symbol | symbol_name ).leaveWhitespace ()
22022195
2203- apostrophe << Regex ("'+" )
2196+ apostrophe <<= Regex ("'+" )
22042197
2205- c_over_c << Suppress (bslash ) + oneOf (self ._char_over_chars .keys ())
2198+ c_over_c <<= Suppress (bslash ) + oneOf (self ._char_over_chars .keys ())
22062199
2207- accent << Group (
2200+ accent <<= Group (
22082201 Suppress (bslash )
22092202 + oneOf (self ._accent_map .keys () + list (self ._wide_accents ))
22102203 - placeable
22112204 )
22122205
2213- function << Suppress (bslash ) + oneOf (list (self ._function_names ))
2206+ function <<= Suppress (bslash ) + oneOf (list (self ._function_names ))
22142207
2215- start_group << Optional (latexfont ) + lbrace
2216- end_group << rbrace .copy ()
2217- simple_group << Group (lbrace + ZeroOrMore (token ) + rbrace )
2218- required_group << Group (lbrace + OneOrMore (token ) + rbrace )
2219- group << Group (start_group + ZeroOrMore (token ) + end_group )
2208+ start_group <<= Optional (latexfont ) + lbrace
2209+ end_group <<= rbrace .copy ()
2210+ simple_group <<= Group (lbrace + ZeroOrMore (token ) + rbrace )
2211+ required_group <<= Group (lbrace + OneOrMore (token ) + rbrace )
2212+ group <<= Group (start_group + ZeroOrMore (token ) + end_group )
22202213
2221- font << Suppress (bslash ) + oneOf (list (self ._fontnames ))
2222- latexfont << Suppress (bslash ) + oneOf (['math' + x for x in self ._fontnames ])
2214+ font <<= Suppress (bslash ) + oneOf (list (self ._fontnames ))
2215+ latexfont <<= Suppress (bslash ) + oneOf (['math' + x for x in self ._fontnames ])
22232216
2224- frac << Group (
2217+ frac <<= Group (
22252218 Suppress (Literal (r"\frac" ))
22262219 - ((required_group + required_group ) | Error (r"Expected \frac{num}{den}" ))
22272220 )
22282221
2229- stackrel << Group (
2222+ stackrel <<= Group (
22302223 Suppress (Literal (r"\stackrel" ))
22312224 - ((required_group + required_group ) | Error (r"Expected \stackrel{num}{den}" ))
22322225 )
22332226
2234- binom << Group (
2227+ binom <<= Group (
22352228 Suppress (Literal (r"\binom" ))
22362229 - ((required_group + required_group ) | Error (r"Expected \binom{num}{den}" ))
22372230 )
22382231
2239- ambi_delim << oneOf (list (self ._ambi_delim ))
2240- left_delim << oneOf (list (self ._left_delim ))
2241- right_delim << oneOf (list (self ._right_delim ))
2242- right_delim_safe << oneOf (list (self ._right_delim - set (['}' ])) + [r'\}' ])
2232+ ambi_delim <<= oneOf (list (self ._ambi_delim ))
2233+ left_delim <<= oneOf (list (self ._left_delim ))
2234+ right_delim <<= oneOf (list (self ._right_delim ))
2235+ right_delim_safe <<= oneOf (list (self ._right_delim - set (['}' ])) + [r'\}' ])
22432236
2244- genfrac << Group (
2237+ genfrac <<= Group (
22452238 Suppress (Literal (r"\genfrac" ))
22462239 - (((lbrace + Optional (ambi_delim | left_delim , default = '' ) + rbrace )
22472240 + (lbrace + Optional (ambi_delim | right_delim_safe , default = '' ) + rbrace )
@@ -2250,27 +2243,27 @@ def __init__(self):
22502243 | Error (r"Expected \genfrac{ldelim}{rdelim}{rulesize}{style}{num}{den}" ))
22512244 )
22522245
2253- sqrt << Group (
2246+ sqrt <<= Group (
22542247 Suppress (Literal (r"\sqrt" ))
22552248 - ((Optional (lbracket + int_literal + rbracket , default = None )
22562249 + required_group )
22572250 | Error ("Expected \sqrt{value}" ))
22582251 )
22592252
2260- overline << Group (
2253+ overline <<= Group (
22612254 Suppress (Literal (r"\overline" ))
22622255 - (required_group | Error ("Expected \overline{value}" ))
22632256 )
22642257
2265- unknown_symbol << Combine (bslash + Regex ("[A-Za-z]*" ))
2258+ unknown_symbol <<= Combine (bslash + Regex ("[A-Za-z]*" ))
22662259
2267- operatorname << Group (
2260+ operatorname <<= Group (
22682261 Suppress (Literal (r"\operatorname" ))
22692262 - ((lbrace + ZeroOrMore (simple | unknown_symbol ) + rbrace )
22702263 | Error ("Expected \operatorname{value}" ))
22712264 )
22722265
2273- placeable << ( accent # Must be first
2266+ placeable <<= ( accent # Must be first
22742267 | symbol # Must be second
22752268 | c_over_c
22762269 | function
@@ -2284,39 +2277,39 @@ def __init__(self):
22842277 | operatorname
22852278 )
22862279
2287- simple << ( space
2280+ simple <<= ( space
22882281 | customspace
22892282 | font
22902283 | subsuper
22912284 )
22922285
2293- subsuperop << oneOf (["_" , "^" ])
2286+ subsuperop <<= oneOf (["_" , "^" ])
22942287
2295- subsuper << Group (
2288+ subsuper <<= Group (
22962289 (Optional (placeable ) + OneOrMore (subsuperop - placeable ) + Optional (apostrophe ))
22972290 | (placeable + Optional (apostrophe ))
22982291 | apostrophe
22992292 )
23002293
2301- token << ( simple
2294+ token <<= ( simple
23022295 | auto_delim
23032296 | unknown_symbol # Must be last
23042297 )
23052298
2306- auto_delim << (Suppress (Literal (r"\left" ))
2299+ auto_delim <<= (Suppress (Literal (r"\left" ))
23072300 - ((left_delim | ambi_delim ) | Error ("Expected a delimiter" ))
23082301 + Group (ZeroOrMore (simple | auto_delim ))
23092302 + Suppress (Literal (r"\right" ))
23102303 - ((right_delim | ambi_delim ) | Error ("Expected a delimiter" ))
23112304 )
23122305
2313- math << OneOrMore (token )
2306+ math <<= OneOrMore (token )
23142307
2315- math_string << QuotedString ('$' , '\\ ' , unquoteResults = False )
2308+ math_string <<= QuotedString ('$' , '\\ ' , unquoteResults = False )
23162309
2317- non_math << Regex (r"(?:(?:\\[$])|[^$])*" ).leaveWhitespace ()
2310+ non_math <<= Regex (r"(?:(?:\\[$])|[^$])*" ).leaveWhitespace ()
23182311
2319- main << (non_math + ZeroOrMore (math_string + non_math )) + StringEnd ()
2312+ main <<= (non_math + ZeroOrMore (math_string + non_math )) + StringEnd ()
23202313
23212314 # Set actions
23222315 for key , val in locals ().items ():
0 commit comments