diff options
| author | Andrei Aiordachioaie <a.aiordachioaie@jacobs-university.de> | 2009-05-25 10:19:35 +0200 |
|---|---|---|
| committer | Andrei Aiordachioaie <andrei@kahlua.eecs.jacobs-university.de> | 2009-07-07 10:50:00 +0200 |
| commit | fcf40c09879355d0b1860cf5545ac26ac0aca681 (patch) | |
| tree | 05cdd3334340b719abb784bf790f471c0d4c667e /src/grammar/CoverageExpr.java | |
| parent | 33d75ff4aab0f98db56874ec16ec9a4e440aab55 (diff) | |
Added new grammar source files (ANTLR)
Diffstat (limited to 'src/grammar/CoverageExpr.java')
| -rw-r--r-- | src/grammar/CoverageExpr.java | 252 |
1 files changed, 122 insertions, 130 deletions
diff --git a/src/grammar/CoverageExpr.java b/src/grammar/CoverageExpr.java index c62d13c..695411c 100644 --- a/src/grammar/CoverageExpr.java +++ b/src/grammar/CoverageExpr.java @@ -1,130 +1,122 @@ -/* - * 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 CoverageExpr implements IParseTreeNode -{ - - String coverageName; - IParseTreeNode expr, e1, e2; - String function; - String op; - - public CoverageExpr( String n ) - { - coverageName = n; - function = "coverage"; - } - - public CoverageExpr(IParseTreeNode n) - { - expr = n; - function = "child"; - } - - /* Unary Induced Expressions */ - public CoverageExpr (String op, CoverageExpr ce) - { - expr = ce; - function = "unaryOp"; - this.op = op; - } - - public CoverageExpr (String op, CoverageExpr e1, CoverageExpr e2) - { - function = "binaryOp"; - this.op = op; - this.e1 = e1; - this.e2 = e2; - } - - public String toXML() - { - String result = ""; - - if (function.equals("coverage")) - { - result = "<coverage>" + coverageName + "</coverage>"; - } - else if (function.equals("binaryOp")) - { - result = "<" + op + ">" + e1.toXML() + e2.toXML() + "</" + op + ">"; - } - else if (function.equals("unaryOp")) - result = expr.toXML(); - else if (function.equals("child")) - result = expr.toXML(); - - return result; - } - -/* - public CoverageExpr( CoverageConstantExpr cce) - { - expr = cce; - function = "coverageConstantExpr"; - } - - public CoverageExpr( CoverageConstructorExpr ce ){ - expr = ce; - function = "coverageConstructorExpr"; - } - - public CoverageExpr( SetMetaDataExpr smde ){ - expr = smde; - function = "setMetaDataExpr"; - } - - public CoverageExpr( RangeConstructorExpr rce) - { - expr = rce; - function = "rangeConstructorExpr"; - } - - public CoverageExpr( CoverageExpr ce ){ - expr = ce; - function = "coverageExpr"; - } - - public CoverageExpr( CrsTransformExpr cte ){ - expr = cte; - function = "crsTransformExpr"; - } - - public CoverageExpr( ScaleExpr se ){ - expr = se; - function = "scaleExpr"; - } - - public CoverageExpr( ScalarExpr se ){ - expr = se; - function = "scalarExpr"; - } - - public CoverageExpr( SubsetExpr se ){ - expr = se; - function = "subsetExpr"; - } - -*/ -} +/*
+ * 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;
+
+/**
+ * CoverageExpr
+ * Creation date: (3/3/2003 2:28:43 AM)
+ * @author: mattia parigiani, Sorin Stancu-Mara, Andrei Aiordachioaie
+ */
+public class CoverageExpr implements IParseTreeNode
+{
+ String coverageName;
+ IParseTreeNode expr, e1, e2;
+ String function;
+ String op;
+
+ public CoverageExpr(IParseTreeNode n)
+ {
+ expr = n;
+ function = "child";
+ }
+
+ public CoverageExpr(String n)
+ {
+ coverageName = n;
+ function = "coverage";
+ }
+
+ /* Unary Induced Expressions */
+ public CoverageExpr(String op, CoverageExpr ce)
+ {
+ expr = ce;
+ function = "unaryOp";
+ this.op = op;
+ }
+
+ public CoverageExpr(String op, CoverageExpr e1, CoverageExpr e2)
+ {
+ function = "binaryOp";
+ this.op = op;
+ this.e1 = e1;
+ this.e2 = e2;
+ }
+
+ public String toXML()
+ {
+ String result = "";
+
+ if (function.equals("coverage"))
+ {
+ result = "<coverage>" + coverageName + "</coverage>";
+ }
+ else if (function.equals("binaryOp"))
+ {
+ formatOperation();
+ result = "<" + op + ">" + e1.toXML() + e2.toXML() + "</" + op + ">";
+ }
+ else if (function.equals("unaryOp"))
+ {
+ formatOperation();
+ result = "<" + op + ">" + expr.toXML() + "</" + op + ">";
+ }
+ else if (function.equals("child"))
+ {
+ result = expr.toXML();
+ }
+
+ return result;
+ }
+
+ private void formatOperation()
+ {
+ if (op.equals("+"))
+ op = "plus";
+ if (op.equals("-"))
+ op = "minus";
+ if (op.equals("*"))
+ op = "mult";
+ if (op.equals("/"))
+ op = "div";
+
+ // AND, OR, XOR stay the same
+
+ if (op.equals("="))
+ op = "equals";
+ if (op.equals("<"))
+ op = "lessThan";
+ if (op.equals(">"))
+ op = "greaterThan";
+ if (op.equals("<="))
+ op = "lessOrEqual";
+ if (op.equals(">="))
+ op = "greaterOrEqual";
+ if (op.equals("!="))
+ op = "notEqual";
+
+ // OVERLAY stays the same
+ }
+}
|
