●数式のツリーを表示するスクリプト
001: function disptree(index, prefix, n, br) { 002: var line = ""; 003: if (n.isAPP()) { 004: line += "(" + String.fromCharCode(n.op) + ")" + br; 005: if (n.v2 == null) { 006: line += prefix + "┗"; 007: if (n.v1.isAPP()) { 008: line += disptree(index+1, prefix+" ", n.v1, br); 009: } else { 010: line += n.v1.toString() + br; 011: } 012: } else { 013: line += prefix; 014: if (n.v1.isAPP()) { 015: line += "┣" + disptree(index+1, prefix+"┃", n.v1, br); 016: } else { 017: line += "┣" + n.v1.toString() + br; 018: } 019: line += prefix; 020: if (n.v2.isAPP()) { 021: line += "┗" + disptree(index+1, prefix+" ", n.v2, br); 022: } else { 023: line += "┗" +n.v2.toString() + br; 024: } 025: } 026: } else { 027: line += prefix + "┗" + n.v1.toString() + br; 028: } 029: 030: return line; 031: }