private ArithmeticResult expression(Block codeBlock) throws IOException, SyntaxFormatException {
		ArithmeticResult leftTerm = term(codeBlock);
		if (leftTerm != null) {
			while (checkCurrentType(TokenType.PLUS) || checkCurrentType(TokenType.MINUS)) {
				TokenType op = lexer.getCurrentToken().getType();
				moveToNextToken();

				ArithmeticResult rightTerm = term(codeBlock);
				if (rightTerm == null) {
					throwFormatException("Term expected!");
				}
				leftTerm = inter.computeExpression(op, leftTerm, rightTerm, codeBlock);
			}
		}
		return leftTerm;
	}