fri.patterns.interpreter.parsergenerator.examples
Class Calculator

java.lang.Object
  |
  +--fri.patterns.interpreter.parsergenerator.semantics.ReflectSemantic
        |
        +--fri.patterns.interpreter.parsergenerator.examples.Calculator
All Implemented Interfaces:
Semantic

public class Calculator
extends ReflectSemantic

Calculator for arithmetic expressions, showing the elegance of ReflectSemantic.

Syntax: java fri.patterns.interpreter.parsergenerator.examples.Calculator '(4+2.3) *(2 - -6) + 3*2'

Author:
Fritz Ritzberger

Constructor Summary
Calculator()
           
 
Method Summary
 java.lang.Object EXPRESSION(java.lang.Object TERM)
           
 java.lang.Object EXPRESSION(java.lang.Object EXPRESSION, java.lang.Object operator, java.lang.Object TERM)
           
 java.lang.Object FACTOR(java.lang.Object number)
           
 java.lang.Object FACTOR(java.lang.Object minus, java.lang.Object FACTOR)
           
 java.lang.Object FACTOR(java.lang.Object leftParenthesis, java.lang.Object EXPRESSION, java.lang.Object rightParenthesis)
           
static void main(java.lang.String[] args)
          SYNTAX: java fri.patterns.interpreter.parsergenerator.examples.Calculator '(4+2.3) *(2 - -6) + 3*2' ... 56.4.
 java.lang.Object TERM(java.lang.Object FACTOR)
           
 java.lang.Object TERM(java.lang.Object TERM, java.lang.Object operator, java.lang.Object FACTOR)
           
 
Methods inherited from class fri.patterns.interpreter.parsergenerator.semantics.ReflectSemantic
doSemantic, fallback, getRanges
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Calculator

public Calculator()
Method Detail

EXPRESSION

public java.lang.Object EXPRESSION(java.lang.Object TERM)

EXPRESSION

public java.lang.Object EXPRESSION(java.lang.Object EXPRESSION,
                                   java.lang.Object operator,
                                   java.lang.Object TERM)

TERM

public java.lang.Object TERM(java.lang.Object FACTOR)

TERM

public java.lang.Object TERM(java.lang.Object TERM,
                             java.lang.Object operator,
                             java.lang.Object FACTOR)

FACTOR

public java.lang.Object FACTOR(java.lang.Object number)

FACTOR

public java.lang.Object FACTOR(java.lang.Object minus,
                               java.lang.Object FACTOR)

FACTOR

public java.lang.Object FACTOR(java.lang.Object leftParenthesis,
                               java.lang.Object EXPRESSION,
                               java.lang.Object rightParenthesis)

main

public static void main(java.lang.String[] args)
                 throws java.lang.Exception
SYNTAX: java fri.patterns.interpreter.parsergenerator.examples.Calculator '(4+2.3) *(2 - -6) + 3*2' ... 56.4.

java.lang.Exception