Exemplo n.º 1
0
  // ========================================================
  // getRightExpression
  //  右辺式取得メソッド
  //
  // @return
  // 右辺式 : MathExpression*
  //
  // ========================================================
  public MathExpression getRightExpression() {
    /* ルート演算子がない場合は取得不能 */
    if (m_pRootFactor == null || !m_pRootFactor.matches(eMathMLClassification.MML_OPERATOR)) {
      return null;
    }

    /* 右辺式ルート要素取得 */
    MathFactor pRightRootFactor = ((MathOperator) m_pRootFactor).getRightExpression();

    /* エラー処理 */
    if (pRightRootFactor == null) {
      return null;
    }

    /* 新しい数式インスタンス生成 */
    MathExpression pNewExpression = new MathExpression();

    /* オペランドの場合 */
    if (pRightRootFactor.matches(eMathMLClassification.MML_OPERAND)) {
      /* 右辺変数をルートに */
      pNewExpression.m_pRootFactor = (MathOperand) pRightRootFactor;
    }
    /* 演算子の場合 */
    else {
      /* 右辺式をルートに */
      pNewExpression.m_pRootFactor = (MathOperator) pRightRootFactor;
    }

    return pNewExpression;
  }
Exemplo n.º 2
0
  // ========================================================
  // getLeftExpression
  //  左辺式取得メソッド
  //
  // @return
  // 左辺式 : MathExpression*
  //
  // ========================================================
  public MathExpression getLeftExpression() {
    /* ルート演算子がない場合は取得不能 */
    if (m_pRootFactor == null || !m_pRootFactor.matches(eMathMLClassification.MML_OPERATOR)) {
      return null;
    }

    /* 左辺式ルート要素取得 */
    MathFactor pLeftRootFactor = ((MathOperator) m_pRootFactor).getLeftExpression();

    /* エラー処理 */
    if (pLeftRootFactor == null) {
      return null;
    }

    /* 新しい数式インスタンス生成 */
    MathExpression pNewExpression = new MathExpression();

    /* ルート要素の設定 */
    pNewExpression.m_pRootFactor = pLeftRootFactor;

    return pNewExpression;
  }