**** Merged r40732-r40872 from MCS ****
[mono.git] / mcs / class / Microsoft.JScript / Microsoft.JScript / README
1                         Mono JScript .Net Compiler
2
3                             Cesar Lopez Nataren
4                           (cesar@ciencias.unam.mx)
5                                     2003
6
7 Structure: Divided by compilation phase.
8
9 Lexical Analysis: We use a ported version of the parser from Mozilla's
10 Rhino (Token.cs, TokenStream.cs and Parser.cs)
11 The public API exposed by namespace Microsoft.JScript are:
12 - JSToken
13 - JSScanner
14 - Context
15 - DocumentContext
16
17
18 Syntax Analysis and Abstract Syntax Tree construction:
19
20 Now we use a ported version of the Parser from Mozilla/Rhino. If you
21 want to hack on the parser:
22
23         - Add the extensions from MS, like classes, interfaces, etc.
24
25 - AST
26 - ASTList
27 - ArrayLiteral
28 - BinaryOp
29 - Binding *
30 - BitwiseBinary
31 - Block
32 - DebugBreak *
33 - Enum
34 - Equality
35 - Eval
36 - ForIn *
37 - FunctionDeclaration (used at runtime, too).
38 - FunctionExpression
39 - Import (used at runtime,too).
40 - JSParser
41 - JScriptParser is the parser generated by Antlr.
42 - Literal
43 - NumericBinary (used at runtime, too).
44 - Package
45 - Print
46 - ScriptBlock
47 - Statement (we could delete this one)
48 - Throw
49 - Try
50 - UnaryOp
51 - VariableDeclaration
52 - VariableStatement
53 - With
54
55
56 Visual Studio for Applications (VSA), execution support:
57 - BaseVsaEngine
58 - GlobalScope
59 - IRedirectOutput
60 - VsaEngine
61 - ActivationObject
62 - ScriptObject
63 - IActivationObject
64
65 Some other execution support classes:
66 - JSLocalField
67 - JSFunctionAttribute
68 - JSFunctionAttributeEnum
69
70
71 Object System:
72 - JSObject
73 - BooleanObject
74 - ArrayObject
75 - DateObject
76 - EnumeratorObject
77 - ErrorObject
78 - EvalErrorObject
79 - FunctionObject
80 - GlobalObject
81 - IActivationObject
82 - JSPrototypeObject
83 - MathObject
84 - NumberObject
85 - RegExpObject 
86 - StringObject
87 - VBArrayObject
88
89 - ArrayPrototype
90 - BooleanPrototype
91 - DatePrototype
92 - EnumeratorPrototype
93 - ErrorPrototype
94 - FunctionPrototype
95 - NumberPrototype
96 - ObjectPrototype
97 - RegExPrototype
98 - StringPrototype
99 - VBArrayPrototype
100
101
102 Non-strict object system:
103 - LenientGlobalObject
104 - LenientMathObject
105
106 - LenientArrayPrototype
107 - LenientBooleanPrototype
108 - LenientDatePrototype
109 - LenientEnumeratorPrototype
110 - LenientErrorPrototype
111 - LenientFunctionPrototype
112 - LenientMathObject
113 - LenientNumberPrototype
114 - LenientObjectPrototype
115 - LenientRegExpPrototype
116 - LenientStringPrototype
117 - LenientVBArrayPrototype
118
119 I/O support:
120 - ScriptStream
121
122
123 Utils:
124 - Convert