1 package calculator;
2
3 import calculator.atoms.Atom;
4 import calculator.operations.Operation;
5 import visitor.Visitor;
6
7 /**
8 * Expression is an abstract class that represents arithmetic expressions.
9 * It has two concrete subclasses Operation and Atoms.
10 *
11 * @see Operation
12 * @see Atom
13 */
14 public interface Expression {
15
16 /**
17 * accept is a method needed to implement the visitor design pattern
18 *
19 * @param v The visitor object being passed as a parameter
20 */
21 void accept(Visitor v);
22
23 }