●数式のツリーを表示するスクリプト
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: }