summaryrefslogtreecommitdiffstats
path: root/src/grammar/IndexExpr.java
diff options
context:
space:
mode:
authorConstantin Jucovschi <cj@ubuntu.localdomain>2009-03-31 06:18:54 -0400
committerConstantin Jucovschi <cj@ubuntu.localdomain>2009-03-31 06:18:54 -0400
commit0f1055b8d7f97d86c66fa602c17666bc2ff9c437 (patch)
tree9c68fa99a97063bbe4a4231e04fc09329541ac71 /src/grammar/IndexExpr.java
Initial commit
Diffstat (limited to 'src/grammar/IndexExpr.java')
-rw-r--r--src/grammar/IndexExpr.java50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/grammar/IndexExpr.java b/src/grammar/IndexExpr.java
new file mode 100644
index 0000000..38ba6d4
--- /dev/null
+++ b/src/grammar/IndexExpr.java
@@ -0,0 +1,50 @@
+package grammar;
+
+/** IndexExpr
+ *
+ * @author Andrei Aiordachioaie
+ */
+public class IndexExpr implements IParseTreeNode
+{
+
+ String op;
+ IParseTreeNode e1, e2;
+ String constant;
+ String function;
+
+ public IndexExpr(String op, IndexExpr e1, IndexExpr e2)
+ {
+ this.op = op;
+ this.e1 = e1;
+ this.e2 = e2;
+ function = "op2";
+ }
+
+ public IndexExpr(String constant)
+ {
+ function = "constant";
+ this.constant = constant;
+ }
+
+ public IndexExpr(String op, NumericScalarExpr e1)
+ {
+ this.op = op;
+ this.e1 = e1;
+ function = "op1";
+ }
+
+ public String toXML()
+ {
+ String result = "";
+ String tag1 = "<" + op + ">", tag2 = "</" + op + ">";
+ if (function.equals("constant"))
+ result = "<numericConstant>" + constant + "</numericConstant>";
+ else if (function.equals("op1"))
+ result = tag1 + e1.toXML() + tag2;
+ else if (function.equals("op2"))
+ result = tag1 + e1.toXML() + e2.toXML() + tag2;
+
+ return result;
+ }
+
+}