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