Skip to content

Commit add5a3e

Browse files
committed
Make small optimizations
1 parent 1790eab commit add5a3e

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

coconut/compiler/compiler.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2996,17 +2996,17 @@ def pipe_handle(self, original, loc, tokens, **kwargs):
29962996
raise CoconutDeferredSyntaxError("cannot star pipe into operator partial", loc)
29972997
op, arg = split_item
29982998
return "({op})({x}, {arg})".format(op=op, x=subexpr, arg=arg)
2999+
elif name == "await":
3000+
internal_assert(not split_item, "invalid split await pipe item tokens", split_item)
3001+
if stars:
3002+
raise CoconutDeferredSyntaxError("cannot star pipe into await", loc)
3003+
return self.await_expr_handle(original, loc, [subexpr])
29993004
elif name == "right arr concat partial":
30003005
if stars:
30013006
raise CoconutDeferredSyntaxError("cannot star pipe into array concatenation operator partial", loc)
30023007
op, arg = split_item
30033008
internal_assert(op.lstrip(";") == "", "invalid arr concat op", op)
30043009
return "_coconut_arr_concat_op({dim}, {x}, {arg})".format(dim=len(op), x=subexpr, arg=arg)
3005-
elif name == "await":
3006-
internal_assert(not split_item, "invalid split await pipe item tokens", split_item)
3007-
if stars:
3008-
raise CoconutDeferredSyntaxError("cannot star pipe into await", loc)
3009-
return self.await_expr_handle(original, loc, [subexpr])
30103010
elif name == "namedexpr":
30113011
if stars:
30123012
raise CoconutDeferredSyntaxError("cannot star pipe into named expression partial", loc)

coconut/compiler/util.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,10 @@ def evaluate_tokens(tokens, **kwargs):
266266
elif isinstance(result, ParseResults):
267267
return make_modified_tokens(result, cls=MergeNode)
268268
elif isinstance(result, list):
269-
return MergeNode(result)
269+
if len(result) == 1:
270+
return result[0]
271+
else:
272+
return MergeNode(result)
270273
else:
271274
return result
272275

0 commit comments

Comments
 (0)