<式を作成>するとは{ 項を作成(メソッド呼び出し)して,それを「左項」ノードにする 1文字読み,読んだ文字が+か-の演算子である場合,以下を操り返す{ 読んだ文字を「演算子」ノードとして作成する 項を作成(メソッド呼び出し)して,それを「右項」ノードにする 演算子ノードの左に「左項」ノードを付ける 演算子ノードの右に「右項」ノードを付ける 演算子ノードを「左項」ノードにする } 「左項」ノードを返す } <項を作成>するとは{ 因子を作成(メソッド呼び出し)して,それを「左因子」ノードにする 1文字読み,読んだ文字が*か/の演算子である場合,以下を繰り返す{ 読んだ文字を「演算子」ノードとして作成する 因子を作成(メソッド呼び出し)して,それを「右因子」ノードにする 演算子ノードの左に「左因子」ノードを付ける 演算子ノードの右に「右因子」ノードを付ける 演算子ノードを「左因子」ノードにする } 「左因子」ノードを返す } <因子を作成>するとは{ 1文字読みこむ. 「因子」ノードを定義する. 読んだ文字が(の場合{ 式を作成(メソッド呼び出し)し「因子」ノードとする }それ以外の場合{ 読んだ文字を要素とする「因子」ノードを作成する } 「因子」ノードを返す }