Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
..
Failed to load latest commit information.
ASTList.cs
ActivationObject.cs
ActiveXObjectConstructor.cs
ArgumentsObject.cs
ArrayConstructor.cs
ArrayLiteral.cs
ArrayObject.cs
ArrayPrototype.cs
ArrayWrapper.cs
AssemblyCustomAttributeList.cs
BinaryOp.cs
Binding.cs
BitwiseBinary.cs
Block.cs
BlockScope.cs
BooleanConstructor.cs
BooleanObject.cs
BooleanPrototype.cs
BreakOutOfFinally.cs
COMFieldInfo.cs
COMMemberInfo.cs
COMMethodInfo.cs
ChangeLog
Closure.cs
CmdLineError.cs
CmdLineException.cs
CmdLineOptionParser.cs
CodeGenerator.cs
Context.cs
ContinueOutOfFinally.cs
Convert.cs
DateConstructor.cs
DateObject.cs
DatePrototype.cs
DebugBreak.cs
Decompiler.cs
DocumentContext.cs
Empty.cs
Enum.cs
EnumeratorConstructor.cs
EnumeratorObject.cs
EnumeratorPrototype.cs
Equality.cs
ErrorConstructor.cs
ErrorObject.cs
ErrorPrototype.cs
Eval.cs
EvalErrorObject.cs
Expando.cs
FieldAccessor.cs
ForIn.cs
FormalParameterList.cs
FunctionConstructor.cs
FunctionDeclaration.cs
FunctionExpression.cs
FunctionObject.cs
FunctionPrototype.cs
FunctionWrapper.cs
GlobalObject.cs
GlobalScope.cs
Globals.cs
IActivationObject.cs
IAuthorServices.cs
IColorizeText.cs
IDebugConvert.cs
IDebugScriptScope.cs
IDebugType.cs
IDebugVsaScriptCodeItem.cs
IDebuggerObject.cs
IDefineEvent.cs
IEngine2.cs
IErrorHandler.cs
IMethodsCompletionInfo.cs
INeedEngine.cs
IObjectCompletionInfo.cs
IParseText.cs
IRedirectOutput.cs
ISite2.cs
ITokenColorInfo.cs
ITokenEnumerator.cs
IVsaFullErrorInfo.cs
IVsaScriptCodeItem.cs
IVsaScriptScope.cs
IWrappedMember.cs
IdentificationTable.cs
Import.cs
In.cs
InstanceOf.cs
JSBuiltIn.cs
JSConstructor.cs
JSError.cs
JSField.cs
JSFieldInfo.cs
JSFunctionAttribute.cs
JSFunctionAttributeEnum.cs
JSLocalField.cs
JSMethod.cs
JSMethodInfo.cs
JSObject.cs
JSParser.cs
JSPropertyInfo.cs
JSPrototypeObject.cs
JSScanner.cs
JSToken.cs
JSVariableField.cs
JScriptCodeCompiler.cs
JScriptCodeGenerator.cs
JScriptCodeProvider.cs
JScriptException.cs
LateBinding.cs
LenientArrayPrototype.cs
LenientBooleanPrototype.cs
LenientDateConstructor.cs
LenientDatePrototype.cs
LenientEnumeratorPrototype.cs
LenientErrorPrototype.cs
LenientFunctionPrototype.cs
LenientGlobalObject.cs
LenientMathObject.cs
LenientNumberPrototype.cs
LenientObjectPrototype.cs
LenientRegExpPrototype.cs
LenientStringConstructor.cs
LenientStringPrototype.cs
LenientVBArrayPrototype.cs
Literal.cs
MathObject.cs
MemberInfoInitializer.cs
MemberInfoList.cs
MethodInvoker.cs
Missing.cs
Namespace.cs
NotRecommendedAttribute.cs
NumberConstructor.cs
NumberObject.cs
NumberPrototype.cs
NumericBinary.cs
NumericUnary.cs
ObjectConstructor.cs
ObjectPrototype.cs
Package.cs
Parser.cs
Plus.cs
PostOrPrefixOperator.cs
Print.cs
README
RangeErrorObject.cs
ReferenceAttribute.cs
ReferenceErrorObject.cs
RegExpConstructor.cs
RegExpMatch.cs
RegExpObject.cs
RegExpPrototype.cs
Relational.cs
ResInfo.cs
ReturnOutOfFinally.cs
ScriptBlock.cs
ScriptFunction.cs
ScriptObject.cs
ScriptStream.cs
SemanticAnalizer.cs
SimpleHashtable.cs
SourceState.cs
StackFrame.cs
Statement.cs
StrictEquality.cs
StringConstructor.cs
StringLiteral.cs
StringObject.cs
StringPrototype.cs
SuperTypeMembersSorter.cs
SyntaxErrorObject.cs
TODO
Throw.cs
Token.cs
TokenColor.cs
TokenStream.cs
Try.cs
TypeErrorObject.cs
TypeManager.cs
TypeOf.cs
TypeReflector.cs
TypedArray.cs
URIErrorObject.cs
UnaryOp.cs
VBArrayConstructor.cs
VBArrayObject.cs
VBArrayPrototype.cs
VSAITEMTYPE2.cs
VariableDeclaration.cs
VariableStatement.cs
VersionableAttribute.cs
VsaCodeItem.cs
VsaGlobalItem.cs
VsaItem.cs
VsaItems.cs
VsaReferenceItem.cs
VsaScriptScope.cs
With.cs
ast.cs
expression.cs
jscript-lexer-parser.g

README

 			Mono JScript .Net Compiler

			    Cesar Lopez Nataren
		          (cesar@ciencias.unam.mx)
				    2003

Structure: Divided by compilation phase.

Lexical Analysis: We use a ported version of the parser from Mozilla's
Rhino (Token.cs, TokenStream.cs and Parser.cs)
The public API exposed by namespace Microsoft.JScript are:
- JSToken
- JSScanner
- Context
- DocumentContext


Syntax Analysis and Abstract Syntax Tree construction:

Now we use a ported version of the Parser from Mozilla/Rhino. If you
want to hack on the parser:

	- Add the extensions from MS, like classes, interfaces, etc.

- AST
- ASTList
- ArrayLiteral
- BinaryOp
- Binding *
- BitwiseBinary
- Block
- DebugBreak *
- Enum
- Equality
- Eval
- ForIn *
- FunctionDeclaration (used at runtime, too).
- FunctionExpression
- Import (used at runtime,too).
- JSParser
- JScriptParser is the parser generated by Antlr.
- Literal
- NumericBinary (used at runtime, too).
- Package
- Print
- ScriptBlock
- Statement (we could delete this one)
- Throw
- Try
- UnaryOp
- VariableDeclaration
- VariableStatement
- With


Visual Studio for Applications (VSA), execution support:
- BaseVsaEngine
- GlobalScope
- IRedirectOutput
- VsaEngine
- ActivationObject
- ScriptObject
- IActivationObject

Some other execution support classes:
- JSLocalField
- JSFunctionAttribute
- JSFunctionAttributeEnum


Object System:
- JSObject
- BooleanObject
- ArrayObject
- DateObject
- EnumeratorObject
- ErrorObject
- EvalErrorObject
- FunctionObject
- GlobalObject
- IActivationObject
- JSPrototypeObject
- MathObject
- NumberObject
- RegExpObject 
- StringObject
- VBArrayObject

- ArrayPrototype
- BooleanPrototype
- DatePrototype
- EnumeratorPrototype
- ErrorPrototype
- FunctionPrototype
- NumberPrototype
- ObjectPrototype
- RegExPrototype
- StringPrototype
- VBArrayPrototype


Non-strict object system:
- LenientGlobalObject
- LenientMathObject

- LenientArrayPrototype
- LenientBooleanPrototype
- LenientDatePrototype
- LenientEnumeratorPrototype
- LenientErrorPrototype
- LenientFunctionPrototype
- LenientMathObject
- LenientNumberPrototype
- LenientObjectPrototype
- LenientRegExpPrototype
- LenientStringPrototype
- LenientVBArrayPrototype

I/O support:
- ScriptStream


Utils:
- Convert