Changeset 130

Show
Ignore:
Timestamp:
01/15/08 06:07:47 (10 months ago)
Author:
dan.lewis
Message:

Updated TEXT mostly.

Files:

Legend:

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

    r128 r130  
    33    methods, // for debugging only 
    44    structure, 
    5     text, 
     5    TEXT = text, 
    66    value; 
    77 
     
    3434    context = cc; 
    3535     
    36     parseOptionalWS(); 
    3736    parseStatement(); 
    38     printf("%s\n",c); 
    39 //  } while(c[0] != 0x00); 
     37    dumpTree(v, 1); 
     38    parseStatement(); 
     39    dumpTree(v, 1); 
     40    parseStatement(); 
     41    dumpTree(v, 1); 
     42    printf("?\n"); 
     43    parseStatement(); 
    4044    dumpTree(v, 1); 
    4145} 
     
    125129            // String literal 
    126130            for(cMark = c++; c[0] != cMark[0]; c++) { 
    127                 assert(c[0] != 0x00, MESSAGE_unterminated_string); 
     131                assert(c[0] != 0x00, TEXT._unterminated_string); 
    128132                if(c[0] == '\\') 
    129133                    c++; 
     
    137141            // RegExp literal 
    138142            for(cMark = c++; c[0] != cMark[0]; c++) { 
    139                 assert(c[0] != 0x00,MESSAGE_bad_regexp); 
     143                assert(c[0] != 0x00,TEXT._bad_regexp); 
    140144                if(c[0] == '\\') 
    141145                    c++; 
     
    270274            c++; 
    271275            parseExpression(); 
    272             assert(c[0] == ')', MESSAGE_unmatched_parenthesis); 
     276            assert(c[0] == ')', TEXT._unmatched_parenthesis); 
    273277            c++; 
    274278            return; 
     
    285289                c++; 
    286290            } 
    287             assert(c[0] == ']', MESSAGE_unmatched_parenthesis); 
     291            assert(c[0] == ']', TEXT._unmatched_parenthesis); 
    288292            c++; 
    289293            v.a = buffer; 
     
    298302                parseOptionalWS(); 
    299303                parseOperand(); 
    300                 assert(v.type == TYPE.IDENT || v.type == TYPE.STRING, MESSAGE_unexpected_token); 
     304                assert(v.type == TYPE.IDENT || v.type == TYPE.STRING, TEXT._unexpected_token); 
    301305                b1 ~= v.s; 
    302306                len++; 
    303307                parseOptionalWS(); 
    304                 assert(c[0] == ':', MESSAGE_unexpected_token); 
     308                assert(c[0] == ':', TEXT._unexpected_token); 
    305309                c++; 
    306310                parseOptionalWS(); 
     
    312316                c++; 
    313317            } 
    314             assert(c[0] == '}', MESSAGE_unmatched_parenthesis); 
     318            assert(c[0] == '}', TEXT._unmatched_parenthesis); 
    315319            c++; 
    316320            v.length = len; 
     
    443447                return; 
    444448            } 
    445             assert(0, MESSAGE_unexpected_token); 
     449            assert(0, TEXT._unexpected_token); 
    446450        case '<': 
    447451            if(c[1] == '<') { 
     
    570574    parseOptionalWS(); 
    571575    parseUnaryExpression(); 
    572     if(v != UNDEFINED, MESSAGE_unexpected_token) { 
     576    if(v != UNDEFINED, TEXT._unexpected_token) { 
    573577        do { 
    574578//          printf("!%.*s\n",std.string.toString(v.type)); 
     
    585589            parseOptionalWS(); 
    586590            parseUnaryExpression(); 
    587             assert(v != UNDEFINED, MESSAGE_unexpected_token); 
     591            assert(v != UNDEFINED, TEXT._unexpected_token); 
    588592        } while(1); 
    589593         
     
    618622     
    619623    parseOptionalWS(); 
    620     for(cMark = c; 0x61 <= c[0] && c[0] <= 0x7A; c++) 
     624    cMark = c; 
     625    for(; 0x61 <= c[0] && c[0] <= 0x7A; c++) 
    621626    {} 
    622627    s = cMark[0..(c-cMark)]; 
    623628    switch(s) { 
    624         case TEXT_break: 
     629        case TEXT._break: 
    625630            v.type = TYPE.KEYbreak; 
    626631            buffer ~= v; 
     
    634639            } 
    635640            return; 
    636         case TEXT_case: 
     641        case TEXT._case: 
    637642            v.type = TYPE.KEYcase; 
    638643            buffer ~= v; 
     
    640645            parseOptionalWS(); 
    641646            parseOperand(); 
    642             assert(v != UNDEFINED, MESSAGE_unexpected_token); 
    643             buffer ~= v; 
    644             assert(c[0] == ':', MESSAGE_unexpected_token); 
     647            assert(v != UNDEFINED, TEXT._unexpected_token); 
     648            buffer ~= v; 
     649            assert(c[0] == ':', TEXT._unexpected_token); 
    645650            c++; 
    646651            v.a = buffer; 
    647652            v.type = TYPE.EXPRESSION; 
    648653            return; 
    649         case TEXT_catch: 
     654        case TEXT._catch: 
    650655            v.type = TYPE.KEYcatch; 
    651656            buffer ~= v; 
    652657            v = UNDEFINED; 
    653658            parseOptionalWS(); 
    654             assert(c[0] == '(', MESSAGE_unexpected_token); 
     659            assert(c[0] == '(', TEXT._unexpected_token); 
    655660            c++; 
    656661            parseOptionalWS(); 
    657662            parseOperand(); 
    658             assert(v.type == TYPE.IDENT, MESSAGE_unexpected_token); 
    659             buffer ~= v; 
    660             parseOptionalWS(); 
    661             assert(c[0] == ')', MESSAGE_unexpected_token); 
     663            assert(v.type == TYPE.IDENT, TEXT._unexpected_token); 
     664            buffer ~= v; 
     665            parseOptionalWS(); 
     666            assert(c[0] == ')', TEXT._unexpected_token); 
    662667            c++; 
    663668            parseOptionalWS(); 
    664669            parseStatement(); 
    665             assert(v.type == TYPE.STATEMENTS, MESSAGE_unexpected_token); 
     670            assert(v.type == TYPE.STATEMENTS, TEXT._unexpected_token); 
    666671            buffer ~= v; 
    667672            v.a = buffer; 
    668673            v.type = TYPE.EXPRESSION; 
    669674            return; 
    670         case TEXT_continue: 
     675        case TEXT._continue: 
    671676            v.type = TYPE.KEYcontinue; 
    672677            buffer ~= v; 
     
    680685            } 
    681686            return; 
    682         case TEXT_default: 
     687        case TEXT._default: 
    683688            v.type = TYPE.KEYdefault; 
    684689            return; 
    685         case TEXT_delete: 
     690        case TEXT._delete: 
    686691            v.type = TYPE.KEYdelete; 
    687692            buffer ~= v; 
     
    689694            parseOptionalWS(); 
    690695            parseOperand(); 
    691             assert(v != UNDEFINED, MESSAGE_unexpected_token); 
     696            assert(v != UNDEFINED, TEXT._unexpected_token); 
    692697            buffer ~= v; 
    693698            v.a = buffer; 
    694699            v.type = TYPE.EXPRESSION; 
    695700            return; 
    696         case TEXT_do: 
     701        case TEXT._do: 
    697702            v.type = TYPE.KEYdo; 
    698703            return; 
    699         case TEXT_else: 
     704        case TEXT._else: 
    700705            v.type = TYPE.KEYelse; 
    701706            return; 
    702         case TEXT_finally: 
     707        case TEXT._finally: 
    703708            v.type = TYPE.KEYfinally; 
    704709            buffer ~= v; 
     
    709714            v.type = TYPE.EXPRESSION; 
    710715            return; 
    711         case TEXT_for: 
     716        case TEXT._for: 
    712717            v.type = TYPE.KEYfor; 
    713718            return; 
    714         case TEXT_goto: 
     719        case TEXT._goto: 
    715720            v.type = TYPE.KEYgoto; 
    716721            buffer ~= v; 
    717722            parseOptionalWS(); 
    718723            parseOperand(); 
    719             assert(v.type == TYPE.IDENT, MESSAGE_unexpected_token); 
     724            assert(v.type == TYPE.IDENT, TEXT._unexpected_token); 
    720725            buffer ~= v; 
    721726            v.a = buffer; 
    722727            v.type = TYPE.EXPRESSION; 
    723728            return; 
    724         case TEXT_if: 
     729        case TEXT._if: 
    725730            v.type = TYPE.KEYif; 
    726731            return; 
    727         case TEXT_instanceof: 
     732        case TEXT._instanceof: 
    728733            v.type = TYPE.KEYinstanceof; 
    729734            return; 
    730         case TEXT_in: 
     735        case TEXT._in: 
    731736            v.type = TYPE.KEYin; 
    732737            return; 
    733         case TEXT_new: 
     738        case TEXT._new: 
    734739            v.type = TYPE.KEYnew; 
    735740            return; 
    736         case TEXT_return: 
     741        case TEXT._return: 
    737742            v.type = TYPE.KEYreturn; 
    738743            return; 
    739         case TEXT_switch: 
     744        case TEXT._switch: 
    740745            v.type = TYPE.KEYswitch; 
    741746            return; 
    742         case TEXT_throw: 
     747        case TEXT._throw: 
    743748            v.type = TYPE.KEYthrow; 
    744749            return; 
    745         case TEXT_try: 
     750        case TEXT._try: 
    746751            v.type = TYPE.KEYtry; 
    747752            buffer ~= v; 
     
    752757            v.type = TYPE.EXPRESSION; 
    753758            return; 
    754         case TEXT_typeof: 
     759        case TEXT._typeof: 
    755760            v.type = TYPE.KEYtypeof; 
    756761            return; 
    757         case TEXT_var: 
    758             v.type = TYPE.KEYvar; 
    759             return; 
    760         case TEXT_void: 
     762        case TEXT._var: 
     763            Value v2; 
     764            v2.type = TYPE.KEYvar; 
     765            parseOptionalWS(); 
     766            parseExpression(); 
     767            v.a = v2 ~ v.a; 
     768            return; 
     769        case TEXT._void: 
    761770            v.type = TYPE.KEYvoid; 
    762771            return; 
    763         case TEXT_while: 
     772        case TEXT._while: 
    764773            v.type = TYPE.KEYwhile; 
    765774            return; 
    766         case TEXT_with: 
     775        case TEXT._with: 
    767776            v.type = TYPE.KEYwith; 
    768777            return; 
     
    781790            c = cMark; 
    782791            parseExpression(); 
     792            assert(v != UNDEFINED, TEXT._unexpected_token); 
     793            assert(c[0] != '}', TEXT._unmatched_parenthesis); 
     794            assert(c[0] != ']', TEXT._unmatched_parenthesis); 
     795            assert(c[0] != ')', TEXT._unmatched_parenthesis); 
    783796            if(c[0] == ';') 
    784797                c++; 
    785             assert(c[0] != '}', MESSAGE_unmatched_parenthesis); 
    786             assert(c[0] != ']', MESSAGE_unmatched_parenthesis); 
    787             assert(c[0] != ')', MESSAGE_unmatched_parenthesis); 
    788             assert(v != UNDEFINED, MESSAGE_unexpected_token); 
     798            return; 
    789799    } 
    790800} 
  • branches/1.9/source/methods.d

    r129 r130  
    99    interpreter, 
    1010    structure, 
    11     text, 
     11    TEXT = text, 
    1212    value; 
    1313 
     
    9393} 
    9494static Value Object_prototype_valueOf(Value self, Value cc, Value[] arguments ...) { 
    95     return self[TEXT___value__]; 
     95    return self[TEXT.___value__]; 
    9696} 
    9797static Value Object_prototype_hasOwnProperty(Value self, Value cc, Value[] arguments ...) { 
     
    104104        Value current = arguments[0]; 
    105105        while(current.type == TYPE.OBJECT) { 
    106             current = current[TEXT_prototype]; 
     106            current = current[TEXT._prototype]; 
    107107            if(current == self) 
    108108                return TRUE; 
     
    126126    Value o, v; 
    127127    o.type = TYPE.OBJECT; 
    128     o[TEXT_prototype] = Global[TEXT_Function][TEXT_prototype]; 
    129     o[TEXT___value__].type = TYPE.FUNCTION; 
    130     o[TEXT___value__].f = null; 
     128    o[TEXT._prototype] = Global[TEXT._Function][TEXT._prototype]; 
     129    o[TEXT.___value__].type = TYPE.FUNCTION; 
     130    o[TEXT.___value__].f = null; 
    131131    return o; 
    132132} 
     
    151151        v = arguments.dup; 
    152152    o.type = TYPE.OBJECT; 
    153     o[TEXT_prototype] = Global[TEXT_Array][TEXT_prototype]; 
    154     o[TEXT___value__] = cast(Value) v; 
     153    o[TEXT._prototype] = Global[TEXT._Array][TEXT._prototype]; 
     154    o[TEXT.___value__] = cast(Value) v; 
    155155    return o; 
    156156} 
     
    191191} 
    192192static Value Array_prototype_join(Value self, Value cc, Value[] arguments ...) { 
    193     const_string s = TEXT_; 
     193    const_string s = TEXT._; 
    194194    if(arguments.length) 
    195195        s = arguments[0].toString(); 
     
    270270 
    271271static Value Global_String(Value self, Value cc, Value[] arguments ...) { 
    272     return cast(Value) (arguments.length? arguments[0].toString() : TEXT_); 
     272    return cast(Value) (arguments.length? arguments[0].toString() : TEXT._); 
    273273} 
    274274static Value String_prototype_constructor(Value self, Value cc, Value[] arguments ...) { 
    275275    Value o; 
    276276    o.type = TYPE.OBJECT; 
    277     o[TEXT_prototype] = Global[TEXT_String][TEXT_prototype]; 
    278     o[TEXT___value__] = Global_String(self,cc,arguments); 
     277    o[TEXT._prototype] = Global[TEXT._String][TEXT._prototype]; 
     278    o[TEXT.___value__] = Global_String(self,cc,arguments); 
    279279    return o; 
    280280} 
     
    448448    Value o; 
    449449    o.type = TYPE.OBJECT; 
    450     o[TEXT_prototype] = Global[TEXT_Boolean][TEXT_prototype]; 
    451     o[TEXT___value__] = Global_Boolean(self,cc,arguments); 
     450    o[TEXT._prototype] = Global[TEXT._Boolean][TEXT._prototype]; 
     451    o[TEXT.___value__] = Global_Boolean(self,cc,arguments); 
    452452    return o; 
    453453} 
     
    458458    Value o; 
    459459    o.type = TYPE.OBJECT; 
    460     o[TEXT_prototype] = Global[TEXT_Number][TEXT_prototype]; 
    461     o[TEXT___value__] = cast(Value) (arguments.length? arguments[0].toDouble() : 0.0); 
     460    o[TEXT._prototype] = Global[TEXT._Number][TEXT._prototype]; 
     461    o[TEXT.___value__] = cast(Value) (arguments.length? arguments[0].toDouble() : 0.0); 
    462462    return o; 
    463463} 
     
    566566    Value o; 
    567567    o.type = TYPE.OBJECT; 
    568     o[TEXT_prototype] = Global[TEXT_Date][TEXT_prototype]; 
     568    o[TEXT._prototype] = Global[TEXT._Date][TEXT._prototype]; 
    569569     
    570570    d_time y,m,d,h,mn,s,ms,type; 
     
    581581                if(y != d_time_nan && y >= 0 && y < 99) 
    582582                    y += 1900; 
    583                 o[TEXT___value__] = cast(Value) MakeDate(MakeDay(y,m,d),type); 
     583                o[TEXT.___value__] = cast(Value) MakeDate(MakeDay(y,m,d),type); 
    584584                break; 
    585585        /// ECMA 15.9.3.2 
    586         case 1: o[TEXT___value__] = cast(Value) arguments[0].toDate(); 
     586        case 1: o[TEXT.___value__] = cast(Value) arguments[0].toDate(); 
    587587                break; 
    588588        /// ECMA 15.9.3.3 
    589         case 0: o[TEXT___value__] = cast(Value) getUTCtime(); 
     589        case 0: o[TEXT.___value__] = cast(Value) getUTCtime(); 
    590590    } 
    591591    return o; 
     
    10551055    Value o; 
    10561056    o.type = TYPE.OBJECT; 
    1057     o[TEXT_prototype] = Global[TEXT_RegExp][TEXT_prototype]; 
     1057    o[TEXT._prototype] = Global[TEXT._RegExp][TEXT._prototype]; 
    10581058    if(arguments.length) { 
    10591059        if(arguments.length > 1) 
    1060             o[TEXT___value__] = cast(Value) new RegExp(arguments[0].toString(),arguments[1].toString()); 
     1060            o[TEXT.___value__] = cast(Value) new RegExp(arguments[0].toString(),arguments[1].toString()); 
    10611061        else 
    1062             o[TEXT___value__] = cast(Value) new RegExp(arguments[0].toString()); 
     1062            o[TEXT.___value__] = cast(Value) new RegExp(arguments[0].toString()); 
    10631063    } 
    10641064    return o; 
     
    10891089    /// ECMA 15.11.2.1 
    10901090    Value error; 
    1091     error[TEXT_message] = cast(Value) arguments[0].toString(); 
     1091    error[TEXT._message] = cast(Value) arguments[0].toString(); 
    10921092    error.type = TYPE.ERROR; 
    10931093    error.access = 0x15; 
  • branches/1.9/source/structure.d

    r129 r130  
    1111 
    1212import 
    13     value, 
    1413    methods, 
    15     text; 
     14    TEXT = text, 
     15    value; 
    1616 
    1717static import 
     
    3131    done at no additional expense. 
    3232*/ 
     33 
    3334Value ERROR =  
    3435{ 
    3536    length:2, 
    3637    keys:[ 
    37         TEXT_prototype, 
    38         TEXT___value__, 
     38        TEXT._prototype, 
     39        TEXT.___value__, 
    3940    ], 
    4041    values:[ 
     
    4243            length:6, 
    4344            keys:[ 
    44                 TEXT_constructor, 
    45                 TEXT_toString, 
    46                 TEXT_name, 
    47                 TEXT_message, 
    48                 TEXT_description, 
    49                 TEXT_number, 
     45                TEXT._constructor, 
     46                TEXT._toString, 
     47                TEXT._name, 
     48                TEXT._message, 
     49                TEXT._description, 
     50                TEXT._number, 
    5051            ], 
    5152            values:[ 
    5253                { f:null, arity:1, type:TYPE.FUNCTION, 0x01 }, 
    5354                { f:&Object_prototype_toString, arity:0, type:TYPE.FUNCTION, 0x01 }, 
    54                 { s:cast(char[])TEXT_Error, type:TYPE.STRING, 0x01 }, 
    55                 { s:cast(char[])TEXT_, type:TYPE.STRING, 0x01 }, 
    56                 { s:cast(char[])TEXT_, type:TYPE.STRING, 0x01 }, 
     55                { s:cast(char[])TEXT._Error, type:TYPE.STRING, 0x01 }, 
     56                { s:cast(char[])TEXT._, type:TYPE.STRING, 0x01 }, 
     57                { s:cast(char[])TEXT._, type:TYPE.STRING, 0x01 }, 
    5758                { d:0, type:TYPE.INT, 0x01 }, 
    5859            ], 
     
    7475    length:34, 
    7576    keys:[ 
    76         TEXT_NaN,             /// ECMA 15.1.1.1 
    77         TEXT_Infinity,            /// ECMA 15.1.1.2 
    78         TEXT_undefined,           /// ECMA 15.1.1.3 
    79         TEXT_null, 
    80         TEXT_false, 
    81         TEXT_true, 
    82         TEXT_eval,                /// ECMA 15.1.2.1 
    83         TEXT_parseInt,            /// ECMA 15.1.2.2 
    84         TEXT_parseFloat,          /// ECMA 15.1.2.3 
    85         TEXT_isNaN,           /// ECMA 15.1.2.4 
    86         TEXT_isFinite,            /// ECMA 15.1.2.5 
    87         TEXT_decodeURI,       /// ECMA 15.1.3.1 
    88         TEXT_decodeURIComponent,  /// ECMA 15.1.3.2 
    89         TEXT_encodeURI,       /// ECMA 15.1.3.3 
    90         TEXT_encodeURIComponent,  /// ECMA 15.1.3.4 
    91         TEXT_escape, 
    92         TEXT_unescape, 
    93         TEXT_Object,          /// ECMA 15.1.4.1 
    94         TEXT_ActiveXObject, 
    95         TEXT_Function,            /// ECMA 15.1.4.2 
    96         TEXT_Array,           /// ECMA 15.1.4.3 
    97         TEXT_String,          /// ECMA 15.1.4.4 
    98         TEXT_Boolean,         /// ECMA 15.1.4.5 
    99         TEXT_Number,          /// ECMA 15.1.4.6 
    100         TEXT_Math,            /// ECMA 15.1.5.1 
    101         TEXT_Date,            /// ECMA 15.1.4.7 
    102         TEXT_RegExp,          /// ECMA 15.1.4.8 
    103         TEXT_Error,           /// ECMA 15.1.4.9 
    104         TEXT_EvalError,           /// ECMA 15.1.4.10 
    105         TEXT_RangeError,      /// ECMA 15.1.4.11 
    106         TEXT_ReferenceError,      /// ECMA 15.1.4.12 
    107         TEXT_SyntaxError,     /// ECMA 15.1.4.13 
    108         TEXT_TypeError,           /// ECMA 15.1.4.14 
    109         TEXT_URIError,            /// ECMA 15.1.4.15 
     77        TEXT._NaN,                /// ECMA 15.1.1.1 
     78        TEXT._Infinity,           /// ECMA 15.1.1.2 
     79        TEXT._undefined,          /// ECMA 15.1.1.3 
     80        TEXT._null, 
     81        TEXT._false, 
     82        TEXT._true, 
     83        TEXT._eval,               /// ECMA 15.1.2.1 
     84        TEXT._parseInt,           /// ECMA 15.1.2.2 
     85        TEXT._parseFloat,         /// ECMA 15.1.2.3 
     86        TEXT._isNaN,          /// ECMA 15.1.2.4 
     87        TEXT._isFinite,           /// ECMA 15.1.2.5 
     88        TEXT._decodeURI,      /// ECMA 15.1.3.1 
     89        TEXT._decodeURIComponent, /// ECMA 15.1.3.2 
     90        TEXT._encodeURI,      /// ECMA 15.1.3.3 
     91        TEXT._encodeURIComponent, /// ECMA 15.1.3.4 
     92        TEXT._escape, 
     93        TEXT._unescape, 
     94        TEXT._Object,         /// ECMA 15.1.4.1 
     95        TEXT._ActiveXObject, 
     96        TEXT._Function,           /// ECMA 15.1.4.2 
     97        TEXT._Array,          /// ECMA 15.1.4.3 
     98        TEXT._String,         /// ECMA 15.1.4.4 
     99        TEXT._Boolean,            /// ECMA 15.1.4.5 
     100        TEXT._Number,         /// ECMA 15.1.4.6 
     101        TEXT._Math,           /// ECMA 15.1.5.1 
     102        TEXT._Date,           /// ECMA 15.1.4.7 
     103        TEXT._RegExp,         /// ECMA 15.1.4.8 
     104        TEXT._Error,          /// ECMA 15.1.4.9 
     105        TEXT._EvalError,          /// ECMA 15.1.4.10 
     106        TEXT._RangeError,     /// ECMA 15.1.4.11 
     107        TEXT._ReferenceError,     /// ECMA 15.1.4.12 
     108        TEXT._SyntaxError,        /// ECMA 15.1.4.13 
     109        TEXT._TypeError,          /// ECMA 15.1.4.14 
     110        TEXT._URIError,           /// ECMA 15.1.4.15 
    110111    ], 
    111112    values:[ 
     
    130131            length:2, 
    131132            keys:[ 
    132                 TEXT_prototype, 
    133                 TEXT___value__, 
     133                TEXT._prototype, 
     134                TEXT.___value__, 
    134135            ], 
    135136            values:[ 
     
    137138                    length:8, 
    138139                    keys:[ 
    139                         TEXT_constructor, 
    140                         TEXT_toString, 
    141                         TEXT_toLocaleString, 
    142                         TEXT_toSource, 
    143                         TEXT_valueOf, 
    144                         TEXT_hasOwnProperty, 
    145                         TEXT_isPrototypeOf, 
    146                         TEXT_propertyIsEnumerable, 
     140                        TEXT._constructor, 
     141                        TEXT._toString, 
     142                        TEXT._toLocaleString, 
     143                        TEXT._toSource, 
     144                        TEXT._valueOf, 
     145                        TEXT._hasOwnProperty, 
     146                        TEXT._isPrototypeOf, 
     147                        TEXT._propertyIsEnumerable, 
    147148                    ], 
    148149                    values:[ 
     
    167168            length:2, 
    168169            keys:[ 
    169                 TEXT_prototype, 
    170                 TEXT___value__, 
     170                TEXT._prototype, 
     171                TEXT.___value__, 
    171172            ], 
    172173            values:[ 
     
    180181            length:2, 
    181182            keys:[ 
    182                 TEXT_prototype, 
    183                 TEXT___value__, 
     183                TEXT._prototype, 
     184                TEXT.___value__, 
    184185            ], 
    185186            values:[ 
     
    187188                    length:4, 
    188189                    keys:[ 
    189                         TEXT_constructor, 
    190                         TEXT_toString, 
    191                         TEXT_apply, 
    192                         TEXT_call, 
     190                        TEXT._constructor, 
     191                        TEXT._toString, 
     192                        TEXT._apply, 
     193                        TEXT._call, 
    193194                    ], 
    194195                    values:[ 
     
    209210            length:2, 
    210211            keys:[ 
    211                 TEXT_prototype, 
    212                 TEXT___value__, 
     212                TEXT._prototype, 
     213                TEXT.___value__, 
    213214            ], 
    214215            values:[ 
     
    216217                    length:15, 
    217218                    keys:[ 
    218                         TEXT_length, 
    219                         TEXT_constructor, 
    220                         TEXT_toString, 
    221                         TEXT_toLocaleString, 
    222                         TEXT_toSource, 
    223                         TEXT_concat, 
    224                         TEXT_join, 
    225                         TEXT_pop, 
    226                         TEXT_push, 
    227                         TEXT_reverse, 
    228                         TEXT_shift, 
    229                         TEXT_slice, 
    230                         TEXT_sort, 
    231                         TEXT_splice, 
    232                         TEXT_unshift, 
     219                        TEXT._length, 
     220                        TEXT._constructor, 
     221                        TEXT._toString, 
     222                        TEXT._toLocaleString, 
     223                        TEXT._toSource, 
     224                        TEXT._concat, 
     225                        TEXT._join, 
     226                        TEXT._pop, 
     227                        TEXT._push, 
     228                        TEXT._reverse, 
     229                        TEXT._shift, 
     230                        TEXT._slice, 
     231                        TEXT._sort, 
     232                        TEXT._splice, 
     233                        TEXT._unshift, 
    233234                    ], 
    234235                    values:[ 
     
    260261            length:3, 
    261262            keys:[ 
    262                 TEXT_prototype, 
    263                 TEXT_fromCharCode, 
    264                 TEXT___value__, 
     263                TEXT._prototype, 
     264                TEXT._fromCharCode, 
     265                TEXT.___value__, 
    265266            ], 
    266267            values:[ 
     
    268269                    length:20, 
    269270                    keys:[ 
    270                         TEXT_constructor, 
    271                         TEXT_toString, 
    272                         TEXT_valueOf, 
    273                         TEXT_charAt, 
    274                         TEXT_charCodeAt, 
    275                         TEXT_concat, 
    276                         TEXT_indexOf, 
    277                         TEXT_lastIndexOf, 
    278                         TEXT_localeCompare, 
    279                         TEXT_match, 
    280                         TEXT_replace, 
    281                         TEXT_search, 
    282                         TEXT_slice, 
    283                         TEXT_split, 
    284                         TEXT_substr, 
    285                         TEXT_substring, 
    286                         TEXT_toLowerCase, 
    287                         TEXT_toLocaleLowerCase, 
    288                         TEXT_toUpperCase, 
    289                         TEXT_toLocaleUpperCase, 
     271                        TEXT._constructor, 
     272                        TEXT._toString, 
     273                        TEXT._valueOf, 
     274                        TEXT._charAt, 
     275                        TEXT._charCodeAt, 
     276                        TEXT._concat, 
     277                        TEXT._indexOf, 
     278                        TEXT._lastIndexOf, 
     279                        TEXT._localeCompare, 
     280                        TEXT._match, 
     281                        TEXT._replace, 
     282                        TEXT._search, 
     283                        TEXT._slice, 
     284                        TEXT._split, 
     285                        TEXT._substr, 
     286                        TEXT._substring, 
     287                        TEXT._toLowerCase, 
     288                        TEXT._toLocaleLowerCase, 
     289                        TEXT._toUpperCase, 
     290                        TEXT._toLocaleUpperCase, 
    290291                    ], 
    291292                    values:[ 
     
    323324            length:2, 
    324325            keys:[ 
    325                 TEXT_prototype, 
    326                 TEXT___value__, 
     326                TEXT._prototype, 
     327                TEXT.___value__, 
    327328            ], 
    328329            values:[ 
     
    330331                    length:1, 
    331332                    keys:[ 
    332                         TEXT_constructor, 
     333                        TEXT._constructor, 
    333334                    ], 
    334335                    values:[ 
     
    346347            length:7, 
    347348            keys:[ 
    348                 TEXT_prototype, 
    349                 TEXT_MAX_VALUE, 
    350                 TEXT_MIN_VALUE, 
    351                 TEXT_NaN, 
    352                 TEXT_NEGATIVE_INFINITY, 
    353                 TEXT_POSITIVE_INFINITY, 
    354                 TEXT___value__, 
     349                TEXT._prototype, 
     350                TEXT._MAX_VALUE, 
     351                TEXT._MIN_VALUE, 
     352                TEXT._NaN, 
     353                TEXT._NEGATIVE_INFINITY, 
     354                TEXT._POSITIVE_INFINITY, 
     355                TEXT.___value__, 
    355356            ], 
    356357            values:[ 
     
    358359                    length:4, 
    359360                    keys:[ 
    360                         TEXT_constructor, 
    361                         TEXT_toFixed, 
    362                         TEXT_toExponential, 
    363                         TEXT_toPrecision, 
     361                        TEXT._constructor, 
     362                        TEXT._toFixed, 
     363                        TEXT._toExponential, 
     364                        TEXT._toPrecision, 
    364365                    ], 
    365366                    values:[ 
     
    385386            length:26, 
    386387            keys:[ 
    387                 TEXT_E, 
    388                 TEXT_LN10, 
    389                 TEXT_LN2, 
    390                 TEXT_LOG2E, 
    391                 TEXT_LOG10E, 
    392                 TEXT_PI, 
    393                 TEXT_SQRT1_2, 
    394                 TEXT_SQRT2, 
    395                 TEXT_abs, 
    396                 TEXT_acos, 
    397                 TEXT_asin, 
    398                 TEXT_atan, 
    399                 TEXT_atan2, 
    400                 TEXT_ceil, 
    401                 TEXT_cos, 
    402                 TEXT_exp, 
    403                 TEXT_floor, 
    404                 TEXT_log, 
    405                 TEXT_max, 
    406                 TEXT_min, 
    407                 TEXT_pow, 
    408                 TEXT_random, 
    409                 TEXT_round, 
    410                 TEXT_sin, 
    411                 TEXT_sqrt, 
    412                 TEXT_tan, 
     388                TEXT._E, 
     389                TEXT._LN10, 
     390                TEXT._LN2, 
     391                TEXT._LOG2E, 
     392                TEXT._LOG10E, 
     393                TEXT._PI, 
     394                TEXT._SQRT1_2, 
     395                TEXT._SQRT2, 
     396                TEXT._abs, 
     397                TEXT._acos, 
     398                TEXT._asin, 
     399                TEXT._atan, 
     400                TEXT._atan2, 
     401                TEXT._ceil, 
     402                TEXT._cos, 
     403                TEXT._exp, 
     404                TEXT._floor, 
     405                TEXT._log, 
     406                TEXT._max, 
     407                TEXT._min, 
     408                TEXT._pow, 
     409                TEXT._random, 
     410                TEXT._round, 
     411                TEXT._sin, 
     412                TEXT._sqrt, 
     413                TEXT._tan, 
    413414            ], 
    414415            values:[ 
     
    446447            length:4, 
    447448            keys:[ 
    448                 TEXT_prototype,                   /// ECMA 15.9.4.1 
    449                 TEXT_parse,                   /// ECMA 15.9.4.2 
    450                 TEXT_UTC,                     /// ECMA 15.9.4.3 
    451                 TEXT___value__, 
     449                TEXT._prototype,                  /// ECMA 15.9.4.1 
     450                TEXT._parse,                  /// ECMA 15.9.4.2 
     451                TEXT._UTC,                        /// ECMA 15.9.4.3 
     452                TEXT.___value__, 
    452453            ], 
    453454            values:[ 
     
    455456                    length:42, 
    456457                    keys:[ 
    457                         TEXT_constructor,     /// ECMA 15.9.5.1 
    458                         TEXT_toString,            /// ECMA 15.9.5.2 
    459                         TEXT_toDateString,        /// ECMA 15.9.5.3 
    460                         TEXT_toTimeString,        /// ECMA 15.9.5.4 
    461                         TEXT_toLocaleString,      /// ECMA 15.9.5.5 
    462                         TEXT_toLocaleDateString,  /// ECMA 15.9.5.6 
    463                         TEXT_toLocaleTimeString,  /// ECMA 15.9.5.7 
    464                         TEXT_valueOf,         /// ECMA 15.9.5.2 
    465                         TEXT_getTime,         /// ECMA 15.9.5.9 
    466                         TEXT_getFullYear,     /// ECMA 15.9.5.10 
    467                         TEXT_getUTCFullYear,      /// ECMA 15.9.5.11 
    468                         TEXT_getMonth,            /// ECMA 15.9.5.12 
    469                         TEXT_getUTCMonth,     /// ECMA 15.9.5.13 
    470             &nb