Skip to content

Commit ddeb5af

Browse files
committed
compare_chained2 _> compare_chained_right
1 parent 843e358 commit ddeb5af

File tree

11 files changed

+56
-56
lines changed

11 files changed

+56
-56
lines changed

test/simple_source/bug33/01_triple_compare.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# In Python 3.3+ this uses grammar rule
2-
# compare_chained2 ::= expr COMPARE_OP RETURN_VALUE
2+
# compare_chained_right ::= expr COMPARE_OP RETURN_VALUE
33
# In Python 3.6 uses this uses grammar rule
4-
# compare_chained2 ::= expr COMPARE_OP come_froms JUMP_FORWARD
4+
# compare_chained_right ::= expr COMPARE_OP come_froms JUMP_FORWARD
55

66
# Seen in Python 3.3 ipaddress.py
77

uncompyle6/parser.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -597,9 +597,10 @@ def p_expr(self, args):
597597
compare ::= compare_single
598598
compare_single ::= expr expr COMPARE_OP
599599
600-
# A compare_chained is two comparisions like x <= y <= z
601-
compare_chained ::= expr compared_chained_middle ROT_TWO POP_TOP _come_froms
602-
compare_chained2 ::= expr COMPARE_OP JUMP_FORWARD
600+
# A compare_chained is two comparisions, as in: x <= y <= z
601+
compare_chained ::= expr compared_chained_middle ROT_TWO POP_TOP
602+
_come_froms
603+
compare_chained_right ::= expr COMPARE_OP JUMP_FORWARD
603604
604605
# Non-null kvlist items are broken out in the indiviual grammars
605606
kvlist ::=

uncompyle6/parsers/parse26.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -307,22 +307,22 @@ def p_misc26(self, args):
307307
308308
and ::= expr JUMP_IF_FALSE POP_TOP expr JUMP_IF_FALSE POP_TOP
309309
310-
# compare_chained is x <= y <= z
310+
# A "compare_chained" is two comparisions like x <= y <= z
311311
compare_chained ::= expr compared_chained_middle ROT_TWO
312312
COME_FROM POP_TOP _come_froms
313313
compared_chained_middle ::= expr DUP_TOP ROT_THREE COMPARE_OP
314314
jmp_false compared_chained_middle _come_froms
315315
compared_chained_middle ::= expr DUP_TOP ROT_THREE COMPARE_OP
316-
jmp_false compare_chained2 _come_froms
316+
jmp_false compare_chained_right _come_froms
317317
318318
compared_chained_middle ::= expr DUP_TOP ROT_THREE COMPARE_OP
319319
jmp_false_then compared_chained_middle _come_froms
320320
compared_chained_middle ::= expr DUP_TOP ROT_THREE COMPARE_OP
321-
jmp_false_then compare_chained2 _come_froms
321+
jmp_false_then compare_chained_right _come_froms
322322
323-
compare_chained2 ::= expr COMPARE_OP return_expr_lambda
324-
compare_chained2 ::= expr COMPARE_OP RETURN_END_IF_LAMBDA
325-
compare_chained2 ::= expr COMPARE_OP RETURN_END_IF COME_FROM
323+
compare_chained_right ::= expr COMPARE_OP return_expr_lambda
324+
compare_chained_right ::= expr COMPARE_OP RETURN_END_IF_LAMBDA
325+
compare_chained_right ::= expr COMPARE_OP RETURN_END_IF COME_FROM
326326
327327
return_if_lambda ::= RETURN_END_IF_LAMBDA POP_TOP
328328
stmt ::= if_exp_lambda

uncompyle6/parsers/parse27.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,13 +120,13 @@ def p_jump27(self, args):
120120
JUMP_IF_FALSE_OR_POP compared_chained_middle
121121
COME_FROM
122122
compared_chained_middle ::= expr DUP_TOP ROT_THREE COMPARE_OP
123-
JUMP_IF_FALSE_OR_POP compare_chained2 COME_FROM
123+
JUMP_IF_FALSE_OR_POP compare_chained_right COME_FROM
124124
125125
return_lambda ::= RETURN_VALUE
126126
return_lambda ::= RETURN_VALUE_LAMBDA
127127
128-
compare_chained2 ::= expr COMPARE_OP return_lambda
129-
compare_chained2 ::= expr COMPARE_OP return_lambda
128+
compare_chained_right ::= expr COMPARE_OP return_lambda
129+
compare_chained_right ::= expr COMPARE_OP return_lambda
130130
131131
# if_exp_true are for conditions which always evaluate true
132132
# There is dead or non-optional remnants of the condition code though,

uncompyle6/parsers/parse3.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ def p_jump3(self, args):
354354
compared_chained_middle ::= expr DUP_TOP ROT_THREE COMPARE_OP JUMP_IF_FALSE_OR_POP
355355
compared_chained_middle COME_FROM
356356
compared_chained_middle ::= expr DUP_TOP ROT_THREE COMPARE_OP JUMP_IF_FALSE_OR_POP
357-
compare_chained2 COME_FROM
357+
compare_chained_right COME_FROM
358358
"""
359359

360360
def p_stmt3(self, args):

uncompyle6/parsers/parse30.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ def p_30(self, args):
2020
RAISE_VARARGS_1 come_froms
2121
call_stmt ::= expr _come_froms POP_TOP
2222
23-
return_if_lambda ::= RETURN_END_IF_LAMBDA COME_FROM POP_TOP
24-
compare_chained2 ::= expr COMPARE_OP RETURN_END_IF_LAMBDA
23+
return_if_lambda ::= RETURN_END_IF_LAMBDA COME_FROM POP_TOP
24+
compare_chained_right ::= expr COMPARE_OP RETURN_END_IF_LAMBDA
2525
2626
# FIXME: combine with parse3.2
2727
whileTruestmt ::= SETUP_LOOP l_stmts_opt
@@ -206,12 +206,12 @@ def p_30(self, args):
206206
come_froms POP_TOP POP_BLOCK COME_FROM_LOOP
207207
208208
209-
# compare_chained is x <= y <= z
209+
# A "compare_chained" is two comparisions like x <= y <= z
210210
compared_chained_middle ::= expr DUP_TOP ROT_THREE COMPARE_OP
211-
jmp_false compared_chained_middle _come_froms
211+
jmp_false compared_chained_middle _come_froms
212212
compared_chained_middle ::= expr DUP_TOP ROT_THREE COMPARE_OP
213-
jmp_false compare_chained2 _come_froms
214-
compare_chained2 ::= expr COMPARE_OP RETURN_END_IF
213+
jmp_false compare_chained_right _come_froms
214+
compare_chained_right ::= expr COMPARE_OP RETURN_END_IF
215215
"""
216216

217217

@@ -275,7 +275,7 @@ def remove_rules_30(self):
275275
JUMP_IF_FALSE_OR_POP compared_chained_middle
276276
COME_FROM
277277
compared_chained_middle ::= expr DUP_TOP ROT_THREE COMPARE_OP
278-
JUMP_IF_FALSE_OR_POP compare_chained2 COME_FROM
278+
JUMP_IF_FALSE_OR_POP compare_chained_right COME_FROM
279279
ret_or ::= expr JUMP_IF_TRUE_OR_POP return_expr_or_cond COME_FROM
280280
ret_and ::= expr JUMP_IF_FALSE_OR_POP return_expr_or_cond COME_FROM
281281
if_exp_ret ::= expr POP_JUMP_IF_FALSE expr RETURN_END_IF

uncompyle6/parsers/parse32.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,9 @@ def p_32to35(self, args):
2525
"""
2626
if_exp ::= expr jmp_false expr jump_forward_else expr COME_FROM
2727
28-
# compare_chained2 is used in a "chained_compare": x <= y <= z
29-
# used exclusively in compare_chained
30-
compare_chained2 ::= expr COMPARE_OP RETURN_VALUE
31-
compare_chained2 ::= expr COMPARE_OP RETURN_VALUE_LAMBDA
28+
# compare_chained_right is used in a "chained_compare": x <= y <= z
29+
compare_chained_right ::= expr COMPARE_OP RETURN_VALUE
30+
compare_chained_right ::= expr COMPARE_OP RETURN_VALUE_LAMBDA
3231
3332
# Python < 3.5 no POP BLOCK
3433
whileTruestmt ::= SETUP_LOOP l_stmts_opt JUMP_BACK COME_FROM_LOOP

uncompyle6/parsers/parse36.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ def p_36_misc(self, args):
190190
tryfinally_return_stmt ::= SETUP_FINALLY suite_stmts_opt POP_BLOCK LOAD_CONST
191191
COME_FROM_FINALLY
192192
193-
compare_chained2 ::= expr COMPARE_OP come_froms JUMP_FORWARD
193+
compare_chained_right ::= expr COMPARE_OP come_froms JUMP_FORWARD
194194
"""
195195

196196
# Some of this is duplicated from parse37. Eventually we'll probably rebase from

uncompyle6/parsers/parse37.py

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ def p_expr(self, args):
223223
224224
# A compare_chained is two comparisions like x <= y <= z
225225
compare_chained ::= expr compared_chained_middle ROT_TWO POP_TOP _come_froms
226-
compare_chained2 ::= expr COMPARE_OP JUMP_FORWARD
226+
compare_chained_right ::= expr COMPARE_OP JUMP_FORWARD
227227
228228
# Non-null kvlist items are broken out in the indiviual grammars
229229
kvlist ::=
@@ -440,10 +440,10 @@ def p_32on(self, args):
440440
"""
441441
if_exp::= expr jmp_false expr jump_forward_else expr COME_FROM
442442
443-
# compare_chained2 is used in a "chained_compare": x <= y <= z
443+
# compare_chained_right is used in a "chained_compare": x <= y <= z
444444
# used exclusively in compare_chained
445-
compare_chained2 ::= expr COMPARE_OP RETURN_VALUE
446-
compare_chained2 ::= expr COMPARE_OP RETURN_VALUE_LAMBDA
445+
compare_chained_right ::= expr COMPARE_OP RETURN_VALUE
446+
compare_chained_right ::= expr COMPARE_OP RETURN_VALUE_LAMBDA
447447
448448
# Python < 3.5 no POP BLOCK
449449
whileTruestmt ::= SETUP_LOOP l_stmts_opt JUMP_BACK COME_FROM_LOOP
@@ -631,36 +631,36 @@ def p_37_chained(self, args):
631631
632632
compare_chained37_false ::= expr compared_chained_middle_false_37
633633
compare_chained37_false ::= expr compared_chained_middleb_false_37
634-
compare_chained37_false ::= expr compare_chained2_false_37
634+
compare_chained37_false ::= expr compare_chained_right_false_37
635635
636636
compared_chained_middlea_37 ::= expr DUP_TOP ROT_THREE COMPARE_OP POP_JUMP_IF_FALSE
637637
compared_chained_middlea_37 ::= expr DUP_TOP ROT_THREE COMPARE_OP POP_JUMP_IF_FALSE
638-
compare_chained2a_37 COME_FROM POP_TOP COME_FROM
638+
compare_chained_righta_37 COME_FROM POP_TOP COME_FROM
639639
compared_chained_middleb_false_37 ::= expr DUP_TOP ROT_THREE COMPARE_OP POP_JUMP_IF_FALSE
640-
compare_chained2b_false_37 POP_TOP _jump COME_FROM
640+
compare_chained_rightb_false_37 POP_TOP _jump COME_FROM
641641
642642
compared_chained_middlec_37 ::= expr DUP_TOP ROT_THREE COMPARE_OP POP_JUMP_IF_FALSE
643-
compare_chained2a_37 POP_TOP
643+
compare_chained_righta_37 POP_TOP
644644
645645
compared_chained_middle_false_37 ::= expr DUP_TOP ROT_THREE COMPARE_OP POP_JUMP_IF_FALSE
646-
compare_chained2c_37 POP_TOP JUMP_FORWARD COME_FROM
646+
compare_chained_rightc_37 POP_TOP JUMP_FORWARD COME_FROM
647647
compared_chained_middle_false_37 ::= expr DUP_TOP ROT_THREE COMPARE_OP POP_JUMP_IF_FALSE
648-
compare_chained2b_false_37 POP_TOP _jump COME_FROM
648+
compare_chained_rightb_false_37 POP_TOP _jump COME_FROM
649649
650-
compare_chained2_false_37 ::= expr DUP_TOP ROT_THREE COMPARE_OP POP_JUMP_IF_FALSE
651-
compare_chained2a_false_37 POP_TOP JUMP_BACK COME_FROM
650+
compare_chained_right_false_37 ::= expr DUP_TOP ROT_THREE COMPARE_OP POP_JUMP_IF_FALSE
651+
compare_chained_righta_false_37 POP_TOP JUMP_BACK COME_FROM
652652
653-
compare_chained2a_37 ::= expr COMPARE_OP come_from_opt POP_JUMP_IF_TRUE JUMP_FORWARD
654-
compare_chained2a_37 ::= expr COMPARE_OP come_from_opt POP_JUMP_IF_TRUE JUMP_BACK
655-
compare_chained2a_false_37 ::= expr COMPARE_OP come_from_opt POP_JUMP_IF_FALSE jf_cfs
653+
compare_chained_righta_37 ::= expr COMPARE_OP come_from_opt POP_JUMP_IF_TRUE JUMP_FORWARD
654+
compare_chained_righta_37 ::= expr COMPARE_OP come_from_opt POP_JUMP_IF_TRUE JUMP_BACK
655+
compare_chained_righta_false_37 ::= expr COMPARE_OP come_from_opt POP_JUMP_IF_FALSE jf_cfs
656656
657-
compare_chained2b_false_37 ::= expr COMPARE_OP come_from_opt POP_JUMP_IF_FALSE JUMP_FORWARD COME_FROM
658-
compare_chained2b_false_37 ::= expr COMPARE_OP come_from_opt POP_JUMP_IF_FALSE JUMP_FORWARD
657+
compare_chained_rightb_false_37 ::= expr COMPARE_OP come_from_opt POP_JUMP_IF_FALSE JUMP_FORWARD COME_FROM
658+
compare_chained_rightb_false_37 ::= expr COMPARE_OP come_from_opt POP_JUMP_IF_FALSE JUMP_FORWARD
659659
660-
compare_chained2c_37 ::= expr DUP_TOP ROT_THREE COMPARE_OP come_from_opt POP_JUMP_IF_FALSE
661-
compare_chained2a_false_37 ELSE
662-
compare_chained2c_37 ::= expr DUP_TOP ROT_THREE COMPARE_OP come_from_opt POP_JUMP_IF_FALSE
663-
compare_chained2a_false_37
660+
compare_chained_rightc_37 ::= expr DUP_TOP ROT_THREE COMPARE_OP come_from_opt POP_JUMP_IF_FALSE
661+
compare_chained_righta_false_37 ELSE
662+
compare_chained_rightc_37 ::= expr DUP_TOP ROT_THREE COMPARE_OP come_from_opt POP_JUMP_IF_FALSE
663+
compare_chained_righta_false_37
664664
"""
665665

666666
def p_37_conditionals(self, args):
@@ -1022,7 +1022,7 @@ def p_jump3(self, args):
10221022
compared_chained_middle ::= expr DUP_TOP ROT_THREE COMPARE_OP JUMP_IF_FALSE_OR_POP
10231023
compared_chained_middle COME_FROM
10241024
compared_chained_middle ::= expr DUP_TOP ROT_THREE COMPARE_OP JUMP_IF_FALSE_OR_POP
1025-
compare_chained2 COME_FROM
1025+
compare_chained_right COME_FROM
10261026
"""
10271027

10281028
def p_stmt3(self, args):
@@ -1209,7 +1209,7 @@ def p_36misc(self, args):
12091209
tryfinally_return_stmt ::= SETUP_FINALLY suite_stmts_opt POP_BLOCK LOAD_CONST
12101210
COME_FROM_FINALLY
12111211
1212-
compare_chained2 ::= expr COMPARE_OP come_froms JUMP_FORWARD
1212+
compare_chained_right ::= expr COMPARE_OP come_froms JUMP_FORWARD
12131213
"""
12141214

12151215
def p_37_misc(self, args):

uncompyle6/semantics/consts.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@
339339
"compare_single": ('%p %[-1]{pattr.replace("-", " ")} %p', (0, 19), (1, 19)),
340340
"compare_chained": ("%p %p", (0, 29), (1, 30)),
341341
"compared_chained_middle": ('%[3]{pattr.replace("-", " ")} %p %p', (0, 19), (-2, 19)),
342-
"compare_chained2": ('%[1]{pattr.replace("-", " ")} %p', (0, 19)),
342+
"compare_chained_right": ('%[1]{pattr.replace("-", " ")} %p', (0, 19)),
343343
# "classdef": (), # handled by n_classdef()
344344
# A custom rule in n_function def distinguishes whether to call this or
345345
# function_def_async

0 commit comments

Comments
 (0)