aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/backends/python
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-01-08 21:10:34 +0000
committerMichael Williamson <mike@zwobble.org>2016-01-08 21:10:34 +0000
commit7638649357e9cc2c339e743dc84b5249c6cdc0de (patch)
tree7f2e50d942792e0f84948549f5cb7be8843b6f99 /src/main/java/org/zwobble/couscous/backends/python
parent2201e7bd489dd3d14f647ff38d6283a88f15ed84 (diff)
Add support for adding strings
Diffstat (limited to 'src/main/java/org/zwobble/couscous/backends/python')
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/PrimitiveMethods.java3
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/ast/PythonBinaryOperation.java4
2 files changed, 7 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/couscous/backends/python/PrimitiveMethods.java b/src/main/java/org/zwobble/couscous/backends/python/PrimitiveMethods.java
index cc2ec06..b370f6d 100644
--- a/src/main/java/org/zwobble/couscous/backends/python/PrimitiveMethods.java
+++ b/src/main/java/org/zwobble/couscous/backends/python/PrimitiveMethods.java
@@ -35,6 +35,9 @@ public class PrimitiveMethods {
.put("substring", (receiver, arguments) ->
pythonGetSlice(receiver, arguments))
+
+ .put("add", (receiver, arguments) ->
+ PythonBinaryOperation.pythonAdd(receiver, arguments.get(0)))
.build();
diff --git a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonBinaryOperation.java b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonBinaryOperation.java
index 1fc87c3..fb33626 100644
--- a/src/main/java/org/zwobble/couscous/backends/python/ast/PythonBinaryOperation.java
+++ b/src/main/java/org/zwobble/couscous/backends/python/ast/PythonBinaryOperation.java
@@ -6,6 +6,10 @@ public class PythonBinaryOperation implements PythonExpressionNode {
public static PythonExpressionNode pythonIs(PythonExpressionNode left, PythonExpressionNode right) {
return new PythonBinaryOperation("is", left, right);
}
+
+ public static PythonExpressionNode pythonAdd(PythonExpressionNode left, PythonExpressionNode right) {
+ return new PythonBinaryOperation("+", left, right);
+ }
private final String operator;
private final PythonExpressionNode left;