Changeset 128

Show
Ignore:
Timestamp:
01/10/08 07:26:59 (11 months ago)
Author:
dan.lewis
Message:

Slightly improved tree generation. Going to bed.
Still generating a shadow tree for one case, seems to be parseStatement.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/1.9/source/interpreter.d

    r127 r128  
    99    std.string; // for debugging only 
    1010 
    11 uint line = 1; 
    1211 
    1312/* 
     
    2019*/ 
    2120 
     21 
     22uint line = 1; 
    2223char last = 0x00; 
    2324const_char* c; 
     
    3435     
    3536    parseOptionalWS(); 
    36 //  do { 
    37         parseStatement(); 
    38         printf("%s\n",c); 
     37    parseStatement(); 
     38    printf("%s\n",c); 
    3939//  } while(c[0] != 0x00); 
    4040    dumpTree(v, 1); 
     
    334334                v.s = cMark[0..(c-cMark)]; 
    335335                v.type = TYPE.IDENT; 
    336                return; 
    337             } 
     336            } 
     337//          printf("!!!%.*s\n",std.string.toString(v.type)); 
    338338    } 
    339339} 
     
    532532    } 
    533533    parseOperand(); 
     534//  printf("!!%.*s\n",std.string.toString(v.type)); 
    534535    buffer ~= v; 
    535536    switch(c[0]) { 
     
    571572    if(v != UNDEFINED, MESSAGE_unexpected_token) { 
    572573        do { 
     574//          printf("!%.*s\n",std.string.toString(v.type)); 
    573575            buffer ~= v; 
    574576            v = UNDEFINED; 
     
    777779                return; 
    778780            } 
     781            c = cMark; 
    779782            parseExpression(); 
    780783            if(c[0] == ';') 
  • branches/1.9/source/value.d

    r127 r128  
    337337                _objectDone: 
    338338                return std.string.format(TEXT_bobject_sb,s); 
    339             case TYPE.ARRAY:    // return Array_prototype_toSource(this,this); 
     339            case TYPE.ARRAY: 
     340                return "[]"; 
    340341            case TYPE.IDENT: 
    341342            case TYPE.STRING: 
    342             case TYPE.REGEXP:   return this.s; 
    343             default:            return "@" ~ std.string.toString(type); 
     343            case TYPE.REGEXP: 
     344                return this.s; 
     345            default: 
     346                return "@" ~ std.string.toString(type); 
    344347        } 
    345348        assert(0);