1 /* Digital Mars DMDScript source code. 2 * Copyright (c) 2000-2002 by Chromium Communications 3 * D version Copyright (c) 2004-2010 by Digital Mars 4 * Distributed under the Boost Software License, Version 1.0. 5 * (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 6 * written by Walter Bright 7 * http://www.digitalmars.com 8 * 9 * D2 port by Dmitry Olshansky 10 * 11 * DMDScript is implemented in the D Programming Language, 12 * http://www.digitalmars.com/d/ 13 * 14 * For a C++ implementation of DMDScript, including COM support, see 15 * http://www.digitalmars.com/dscript/cppscript.html 16 */ 17 18 19 module dmdscript.threadcontext; 20 21 22 import dmdscript.script; 23 import dmdscript.program; 24 import dmdscript.dmath; 25 import dmdscript.dobject; 26 import dmdscript.dfunction; 27 28 // These are our per-thread global variables 29 // Tables where the prototype and constructor object are stored. 30 31 Dobject[d_string] protoTable; 32 Dfunction[d_string] ctorTable; 33 34 Dfunction Dobject_constructor; 35 Dobject Dobject_prototype; 36 37 Dfunction Dfunction_constructor; 38 Dobject Dfunction_prototype; 39 40 Dfunction Darray_constructor; 41 Dobject Darray_prototype; 42 43 Dfunction Dstring_constructor; 44 Dobject Dstring_prototype; 45 46 Dfunction Dboolean_constructor; 47 Dobject Dboolean_prototype; 48 49 Dfunction Dnumber_constructor; 50 Dobject Dnumber_prototype; 51 52 Dfunction Derror_constructor; 53 Dobject Derror_prototype; 54 55 Dfunction Ddate_constructor; 56 Dobject Ddate_prototype; 57 58 Dfunction Dregexp_constructor; 59 Dobject Dregexp_prototype; 60 61 Dfunction Denumerator_constructor; 62 Dobject Denumerator_prototype; 63 64 Dmath Dmath_object; 65 66 void function ()[] threadInitTable;