summaryrefslogtreecommitdiffstats
path: root/src/grammar/NumericScalarExpr.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/grammar/NumericScalarExpr.java')
-rw-r--r--src/grammar/NumericScalarExpr.java245
1 files changed, 132 insertions, 113 deletions
diff --git a/src/grammar/NumericScalarExpr.java b/src/grammar/NumericScalarExpr.java
index c0835fc..ba0db8e 100644
--- a/src/grammar/NumericScalarExpr.java
+++ b/src/grammar/NumericScalarExpr.java
@@ -1,113 +1,132 @@
-/*
- * This file is part of Petascope.
- *
- * Petascope is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of
- * the License, or (at your option) any later version.
- *
- * Petascope is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with Petascope. If not, see <http://www.gnu.org/licenses/>.
- *
- * For more information please see <http://www.Petascope.org>
- * or contact Peter Baumann via <baumann@rasdaman.com>.
- *
- * Copyright 2009 Jacobs University Bremen, Peter Baumann.
- */
-
-package grammar;
-
-public class NumericScalarExpr implements IParseTreeNode
-{
- String constValue;
- String function;
- NumericScalarExpr leftNumericScalarExpr, rightNumericScalarExpr;
- CondenseExpr condense;
-
- public NumericScalarExpr(String val)
- {
- if (val.contains("+i"))
- {
- ComplexConst cc = new ComplexConst(val);
-
- constValue = cc.toXML();
- function = "complexConstant";
- }
- else
- {
- constValue = val;
- function = "numericConstant";
- }
- }
-
- public NumericScalarExpr(String op, NumericScalarExpr expr)
- {
- leftNumericScalarExpr = expr;
-
- if (op.equals("-"))
- function = "numericUnaryMinus";
- else
- System.err.println("Unary Operator " + op + " is not recognized!");
- }
-
- public NumericScalarExpr(String op, NumericScalarExpr lbe, NumericScalarExpr rbe)
- {
- leftNumericScalarExpr = lbe;
- rightNumericScalarExpr = rbe;
-
- if (op.equals("+"))
- {
- function = "numericAdd";
- }
- else if (op.equals("-"))
- {
- function = "numericMinus";
- }
- else if (op.equals("*"))
- {
- function = "numericMult";
- }
- else if (op.equals("/"))
- {
- function = "numericDiv";
- }
- else
- {
- System.err.println("Operator " + op + " is not recognized!");
- }
- }
-
- public NumericScalarExpr(CondenseExpr c)
- {
- condense = c;
- function = "condense";
- }
-
- public String toXML()
- {
- String result;
-
- if (function.equals("complexConstant"))
- return constValue;
-
- result = "<" + function + ">";
-
- if (function.equals("numericConstant"))
- result += constValue;
- else
- {
- result += leftNumericScalarExpr.toXML();
- if (rightNumericScalarExpr != null)
- result += rightNumericScalarExpr.toXML();
- }
-
- result += "</" + function + ">";
-
- return result;
- }
-}
+/*
+ * This file is part of PetaScope.
+ *
+ * PetaScope is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of
+ * the License, or (at your option) any later version.
+ *
+ * PetaScope is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with PetaScope. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * For more information please see <http://www.PetaScope.org>
+ * or contact Peter Baumann via <baumann@rasdaman.com>.
+ *
+ * Copyright 2009 Jacobs University Bremen, Peter Baumann.
+ */
+
+
+
+
+package grammar;
+
+/**
+ * NumericScalarExpr
+ * Creation date: (3/3/2003 2:28:43 AM)
+ * @author: mattia parigiani, Sorin Stancu-Mara, Andrei Aiordachioaie
+ */
+public class NumericScalarExpr implements IParseTreeNode
+{
+ CondenseExpr condense;
+ String constValue;
+ String function;
+ NumericScalarExpr leftNumericScalarExpr, rightNumericScalarExpr;
+
+ public NumericScalarExpr(CondenseExpr c)
+ {
+ condense = c;
+ function = "condense";
+ }
+
+ public NumericScalarExpr(String val)
+ {
+ if (val.contains("+i"))
+ {
+ ComplexConst cc = new ComplexConst(val);
+
+ constValue = cc.toXML();
+ function = "complexConstant";
+ }
+ else
+ {
+ constValue = val;
+ function = "numericConstant";
+ }
+ }
+
+ public NumericScalarExpr(String op, NumericScalarExpr expr)
+ {
+ leftNumericScalarExpr = expr;
+
+ if (op.equals("-"))
+ {
+ function = "numericUnaryMinus";
+ }
+ else
+ {
+ System.err.println("Unary Operator " + op + " is not recognized!");
+ }
+ }
+
+ public NumericScalarExpr(String op, NumericScalarExpr lbe, NumericScalarExpr rbe)
+ {
+ leftNumericScalarExpr = lbe;
+ rightNumericScalarExpr = rbe;
+
+ if (op.equals("+"))
+ {
+ function = "numericAdd";
+ }
+ else if (op.equals("-"))
+ {
+ function = "numericMinus";
+ }
+ else if (op.equals("*"))
+ {
+ function = "numericMult";
+ }
+ else if (op.equals("/"))
+ {
+ function = "numericDiv";
+ }
+ else
+ {
+ System.err.println("Operator " + op + " is not recognized!");
+ }
+ }
+
+ public String toXML()
+ {
+ String result;
+
+ if (function.equals("complexConstant"))
+ {
+ return constValue;
+ }
+
+ result = "<" + function + ">";
+
+ if (function.equals("numericConstant"))
+ {
+ result += constValue;
+ }
+ else
+ {
+ result += leftNumericScalarExpr.toXML();
+
+ if (rightNumericScalarExpr != null)
+ {
+ result += rightNumericScalarExpr.toXML();
+ }
+ }
+
+ result += "</" + function + ">";
+
+ return result;
+ }
+}