Show More
@@ -928,6 +928,14 b' def optimize(x, small):' | |||||
928 | elif op == 'group': |
|
928 | elif op == 'group': | |
929 | return optimize(x[1], small) |
|
929 | return optimize(x[1], small) | |
930 | elif op in 'range list parent ancestorspec': |
|
930 | elif op in 'range list parent ancestorspec': | |
|
931 | if op == 'parent': | |||
|
932 | # x^:y means (x^) : y, not x ^ (:y) | |||
|
933 | post = ('parentpost', x[1]) | |||
|
934 | if x[2][0] == 'dagrangepre': | |||
|
935 | return optimize(('dagrange', post, x[2][1]), small) | |||
|
936 | elif x[2][0] == 'rangepre': | |||
|
937 | return optimize(('range', post, x[2][1]), small) | |||
|
938 | ||||
931 | wa, ta = optimize(x[1], small) |
|
939 | wa, ta = optimize(x[1], small) | |
932 | wb, tb = optimize(x[2], small) |
|
940 | wb, tb = optimize(x[2], small) | |
933 | return wa + wb, (op, ta, tb) |
|
941 | return wa + wb, (op, ta, tb) |
General Comments 0
You need to be logged in to leave comments.
Login now