Android Open Source - SOWGcalc Calc Grammar






From Project

Back to project page SOWGcalc.

License

The source code is released under:

GNU General Public License

If you think the Android project SOWGcalc listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/**
 *  SOWGware, Copyright 2010/*  ww  w  .j  a v  a 2  s.  c o m*/
 * 
 *  This file is part of SOWGcalc.

    SOWGcalc is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    SOWGcalc 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 General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with SOWGcalc.  If not, see <http://www.gnu.org/licenses/>.
 */

//class to contain all ANTLR grammar references
package com.sowg.calc;

import org.antlr.runtime.*;

public class CalcGrammar {
  
  public CalcGrammar() {}

  public static String evalGrammar(String input)
  {
    String expr = "";
    
    //go from string down to parse
      CharStream cs = new ANTLRStringStream(input);
      CalcLexer cLex = new CalcLexer(cs);
      CommonTokenStream tokens = new CommonTokenStream();
      tokens.setTokenSource(cLex);
      CalcParser cParse = new CalcParser(tokens);
      
      try {
        //and back to string
      cParse.ultimate();
      expr = cParse.result;
    } catch (RecognitionException e) {
      expr = "Error";
    }
    
    return expr;
  }
}




Java Source Code List

com.sowg.calc.CalcGrammar.java
com.sowg.calc.CalcLexer.java
com.sowg.calc.CalcParser.java
com.sowg.calc.Constants.java
com.sowg.calc.Helper.java
com.sowg.calc.Memory.java
com.sowg.calc.SOWGButton.java
com.sowg.calc.SOWGEditText.java
com.sowg.calc.SOWGNumberKeyListener.java
com.sowg.calc.SOWGcalc.java