All Classes and Interfaces

Class
Description
This class represents the arithmetic unary operation "acos".
This class represents the arithmetic unary operation "asin".
This class represents the arithmetic unary operation "atan".
Atom abstract class An Atom represents a number (or an operand of operations).
AtomCaster is an AtomVisitor whose goal is to cast the visited atom to the specified type and throws errors if this cast is impossible e.g a complex to an Integer
AtomComparator is an AtomVisitor whose goal is to give the largest set of number between all visited types e.g. between an Integer, Real and Complex, the Complex type is the largest as both the Integer and Real are included in Complexes
Enumeration of possible atom (number) types
Visitor design pattern for atoms
 
This class represents the core logic of a Calculator.
 
This class provides an empty implementation of calculatorVisitor, which can be extended to create a visitor which only needs to handle a subset of the available methods.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This interface defines a complete generic visitor for a parse tree produced by calculatorParser.
 
Complex Number type is used to represent complex e.g. 3 + 2i
This class represents the arithmetic unary operation "cosh".
This class represents the arithmetic unary operation "cos".
Counter is a visitor that counts the numbers, operations, and depth in an arithmetic expression.
This class represents the arithmetic division operation "/".
 
 
 
 
Evaluation is a concrete visitor that serves to compute and evaluate the results of arithmetic expressions.
 
Expression is an abstract class that represents arithmetic expressions.
 
 
Exception that will be used when an a cast for one Atom to another isn't possible e.g. complex to integer cast
Exception that will be used when an incorrectly constructed arithmetic expression is encountered.
IntegerAtom is a concrete class that represents arithmetic (integer) numbers, which are Atoms, a special kind of Expressions, just like operations are.
This class represents the natural logarithm unary operation "ln".
This class represents the arithmetic binary operation "log(x, base)".
A very simple calculator in Java University of Mons - UMONS Software Engineering Lab Faculty of Sciences
This class represents the arithmetic operation "-".
Enumeration of the 3 ways to represent an arithmetic expression as a String:
Operation is an abstract class that represents arithmetic operations, which are a special kind of Expressions, just like numbers are.
 
Builds Expression objects from the ANTLR parse tree.
This class represents the arithmetic sum operation "+".
 
Printer is a Visitor that converts arithmetic expressions into Strings, using a specified notation (prefix, infix or postfix).
Rationnal Number type is used to represent fractions e.g. 1/2
Real is a concrete class that represents arithmetic (Real) numbers, which are Atoms, a special kind of Expressions.
This class represents the arithmetic unary operation "sinh".
This class represents the arithmetic unary operation "sin".
This class represents the square root unary operation "sqrt".
This class represents the arithmetic unary operation "tan".
This class represents the arithmetic unary operation "tanh".
This class represents the arithmetic multiplication operation "*".
UnaryFunction is an abstract class that represents unary arithmetic operations, which are a special kind of Expressions, just like binary operations are.
Visitor design pattern