From fcf40c09879355d0b1860cf5545ac26ac0aca681 Mon Sep 17 00:00:00 2001 From: Andrei Aiordachioaie Date: Mon, 25 May 2009 10:19:35 +0200 Subject: Added new grammar source files (ANTLR) --- src/grammar/CoverageExpr.java | 252 ++++++++++++++++++++---------------------- 1 file changed, 122 insertions(+), 130 deletions(-) (limited to 'src/grammar/CoverageExpr.java') 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 . - * - * For more information please see - * or contact Peter Baumann via . - * - * 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 = "" + coverageName + ""; - } - else if (function.equals("binaryOp")) - { - result = "<" + op + ">" + e1.toXML() + e2.toXML() + ""; - } - 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 . + * + * For more information please see + * or contact Peter Baumann via . + * + * 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 = "" + coverageName + ""; + } + else if (function.equals("binaryOp")) + { + formatOperation(); + result = "<" + op + ">" + e1.toXML() + e2.toXML() + ""; + } + else if (function.equals("unaryOp")) + { + formatOperation(); + result = "<" + op + ">" + expr.toXML() + ""; + } + 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 + } +} -- cgit