@@ -174,12 +174,10 @@ DIGIT [0-9]
174174LETTER [A-Za-z\x80-\xFF]
175175NONEMPTY [A-Za-z0-9_\x80-\xFF]
176176EXPCHAR [#(){}\[\],:.%/\\=`*~|&<>!;+-]
177- NONEMPTYEXP [^ \t\n:]
178177PARAMNONEMPTY [^ \t\n():]
179178IDENTIFIER ({LETTER}|" _" )({LETTER}|{DIGIT}|" _" )*
180179SCOPE {IDENTIFIER}(" ." {IDENTIFIER})*
181180CALLANY " (" [^)\n]*" )"
182- BORDER ([^A-Za-z0-9 ])
183181
184182POUNDCOMMENT " ##"
185183
@@ -191,89 +189,9 @@ LONGSTRINGITEM ({LONGSTRINGCHAR}|{ESCAPESEQ})
191189SMALLQUOTE (" \" \" " |" \" " |" '" |" ''" )
192190LONGSTRINGBLOCK ({LONGSTRINGITEM}|{SMALLQUOTE})
193191
194- SHORTSTRING (" '" {SHORTSTRINGITEM}*" '" |' "' {SHORTSTRINGITEM}*' "' )
195- SHORTSTRINGITEM ({SHORTSTRINGCHAR}|{ESCAPESEQ})
196- SHORTSTRINGCHAR [^\\\n"]
197- STRINGLITERAL {STRINGPREFIX}?( {SHORTSTRING} | {LONGSTRING})
198192STRINGPREFIX (" r" |" u" |" ur" |" R" |" U" |" UR" |" Ur" |" uR" )
199193KEYWORD (" lambda" |" import" |" class" |" assert" |" with" |" as" |" from" |" global" |" async" |" def" |" True" |" False" )
200194FLOWKW (" or" |" and" |" is" |" not" |" print" |" for" |" in" |" if" |" try" |" except" |" yield" |" raise" |" break" |" continue" |" pass" |" if" |" return" |" while" |" elif" |" else" |" finally" )
201- QUOTES (" \" " [^" ]*" \" " )
202- SINGLEQUOTES (" '" [^' ]*"' " )
203-
204- LONGINTEGER {INTEGER}(" l" |" L" )
205- INTEGER ({DECIMALINTEGER}|{OCTINTEGER}|{HEXINTEGER})
206- DECIMALINTEGER ({NONZERODIGIT}{DIGIT}*|" 0 " )
207- OCTINTEGER " 0 " {OCTDIGIT}+
208- HEXINTEGER " 0 " (" x" |" X" ){HEXDIGIT}+
209- NONZERODIGIT [1-9]
210- OCTDIGIT [0-7]
211- HEXDIGIT ({DIGIT}|[a-f]|[A-F])
212- FLOATNUMBER ({POINTFLOAT}|{EXPONENTFLOAT})
213- POINTFLOAT ({INTPART}?{FRACTION}|{INTPART}" ." )
214- EXPONENTFLOAT ({INTPART}|{POINTFLOAT}){EXPONENT}
215- INTPART {DIGIT}+
216- FRACTION " ." {DIGIT}+
217- EXPONENT (" e" |" E" )(" +" |" -" )?{DIGIT}+
218- IMAGNUMBER ({FLOATNUMBER}|{INTPART})(" j" |" J" )
219- ATOM ({IDENTIFIER}|{LITERAL}|{ENCLOSURE})
220- ENCLOSURE ({PARENTH_FORM}|{LIST_DISPLAY}|{DICT_DISPLAY}|{STRING_CONVERSION})
221- LITERAL ({STRINGLITERAL}|{INTEGER}|{LONGINTEGER}|{FLOATNUMBER}|{IMAGNUMBER})
222- PARENTH_FORM " (" {EXPRESSION_LIST}?" )"
223- TEST ({AND_TEST}(" or" {AND_TEST})*|{LAMBDA_FORM})
224- TESTLIST {TEST}( " ," {TEST})*" ," ?
225- LIST_DISPLAY " [" {LISTMAKER}?" ]"
226- LISTMAKER {EXPRESSION}({LIST_FOR}|(" ," {EXPRESSION})*" ," ?)
227- LIST_ITER ({LIST_FOR}|{LIST_IF})
228- LIST_FOR "for"{EXPRESSION_LIST}" in" {TESTLIST}{LIST_ITER}?
229- LIST_IF " if" {TEST}{LIST_ITER}?
230- DICT_DISPLAY " \{" {KEY_DATUM_LIST}?" \}"
231- KEY_DATUM_LIST {KEY_DATUM}(" ," {KEY_DATUM})*" ," ?
232- KEY_DATUM {EXPRESSION}" :" {EXPRESSION}
233- STRING_CONVERSION " `" {EXPRESSION_LIST}" `"
234- PRIMARY ({ATOM}|{ATTRIBUTEREF}|{SUBSCRIPTION}|{SLICING}|{CALL})
235- ATTRIBUTEREF {PRIMARY}" ." {IDENTIFIER}
236- SUBSCRIPTION {PRIMARY}" [" {EXPRESSION_LIST}" ]"
237- SLICING ({SIMPLE_SLICING}|{EXTENDED_SLICING})
238- SIMPLE_SLICING {PRIMARY}" [" {SHORT_SLICE}" ]"
239- EXTENDED_SLICING {PRIMARY}" [" {SLICE_LIST}" ]"
240- SLICE_LIST {SLICE_ITEM}(" ," {SLICE_ITEM})*" ," ?
241- SLICE_ITEM ({EXPRESSION}|{PROPER_SLICE}|{ELLIPSIS})
242- PROPER_SLICE ({SHORT_SLICE}|{LONG_SLICE})
243- SHORT_SLICE {LOWER_BOUND}?" :" {UPPER_BOUND}?
244- LONG_SLICE {SHORT_SLICE}" :" {STRIDE}?
245- LOWER_BOUND {EXPRESSION}
246- UPPER_BOUND {EXPRESSION}
247- STRIDE {EXPRESSION}
248- ELLIPSIS " ..."
249- CALL {PRIMARY}" (" ({ARGUMENT_LIST}" ," ?)?" )"
250- ARGUMENT_LIST ({POSITIONAL_ARGUMENTS}(" ," {KEYWORD_ARGUMENTS})?(" ," " *" {EXPRESSION})?(" ," " **" {EXPRESSION})?|{KEYWORD_ARGUMENTS}(" ," " *" {EXPRESSION})?(" ," " **" {EXPRESSION})?|" *" {EXPRESSION}(" ," " **" {EXPRESSION})?|" **" {EXPRESSION})
251- POSITIONAL_ARGUMENTS {EXPRESSION}(" ," {EXPRESSION})*
252- KEYWORD_ARGUMENTS {KEYWORD_ITEM}(" ," {KEYWORD_ITEM})*
253- KEYWORD_ITEM {IDENTIFIER}" =" {EXPRESSION}
254- POWER {PRIMARY}(" **" {U_EXPR})?
255- U_EXPR ({POWER}|" -" {U_EXPR}|" +" {U_EXPR}|" \~" {U_EXPR})
256- M_EXPR ({U_EXPR}|{M_EXPR}" *" {U_EXPR}|{M_EXPR}" /" " /" {U_EXPR}|{M_EXPR}" /" {U_EXPR}|{M_EXPR}" \%" {U_EXPR})
257- A_EXPR ({M_EXPR}|{A_EXPR}" +" {M_EXPR}|{A_EXPR}" -" {M_EXPR}
258- SHIFT_EXPR ({A_EXPR}|{SHIFT_EXPR}(" <<" |" >>" ){A_EXPR})
259- AND_EXPR ({SHIFT_EXPR}|{AND_EXPR}" \;SPMamp;" {SHIFT_EXPR}
260- XOR_EXPR ({AND_EXPR}|{XOR_EXPR}" \t extasciicircum" {AND_EXPR})
261- OR_EXPR ({XOR_EXPR}|{OR_EXPR}" |" { XOR_EXPR})
262-
263- COMPARISON {OR_EXPR}({COMP_OPERATOR}{OR_EXPR})*
264- COMP_OPERATOR (" <" |" >" |" ==" |" >=" |" <=" |" <>" |" !=" |" is" " not" ?|" not" ?" in" )
265- EXPRESSION ({OR_TEST}|{LAMBDA_FORM})
266- OR_TEST ({AND_TEST}|{OR_TEST}" or" {AND_TEST})
267- AND_TEST ({NOT_TEST}|{AND_TEST}" and" {NOT_TEST})
268- NOT_TEST ({COMPARISON}|" not" {NOT_TEST})
269- LAMBDA_FORM "lambda"{PARAMETER_LIST}?" :" {EXPRESSION}
270- EXPRESSION_LIST {EXPRESSION}(" ," {EXPRESSION})*" ," ?
271- SIMPLE_STMT ({EXPRESSION_STMT}|{ASSERT_STMT}|{ASSIGNMENT_STMT}|{AUGMENTED_ASSIGNMENT_STMT}|{PASS_STMT}|{DEL_STMT}|{PRINT_STMT}|{RETURN_STMT}|{YIELD_STMT}|{RAISE_STMT}|{BREAK_STMT}|{CONTINUE_STMT}|{IMPORT_STMT}|{GLOBAL_STMT}|{EXEC_STMT})
272- EXPRESSION_STMT {EXPRESSION_LIST}
273- ASSERT_STMT " assert" {EXPRESSION}(" ," {EXPRESSION})?
274- ASSIGNMENT_STMT ({TARGET_LIST}" =" )+{EXPRESSION_LIST}
275- TARGET_LIST {TARGET}(" ," {TARGET})*" ," ?
276- TARGET ({IDENTIFIER}|" (" {TARGET_LIST}" )" |" [" {TARGET_LIST}" ]" |{ATTRIBUTEREF}|{SUBSCRIPTION}|{SLICING})
277195
278196%option noyywrap
279197%option stack
0 commit comments