2003-07-27  Cesar Lopez Nataren  <cesar@ciencias.unam.mx>
	* Added files StringLiteral.cs, CodeGenerator.cs and Print.cs.

2003-07-27  Cesar Lopez Nataren  <cesar@ciencias.unam.mx>

	* jscript-lexer-parser.g: Changed the namespace to
	Microsoft.JScript.Tmp.

	* jscript-lexer-parser.g: Fixwd a typo at source_elements rule.

	* jscript-lexer-parser.g: Got the name of a
	global_function_declaration and also its return type if
	available. 

	* jscript-lexer-parser.g: Added syntatic rule for print_statement.
	* jscript-lexer-parser.g: Initial construction of AST for
	enum_statement and package_statement.

	* jscript-lexer-parser.g: Fixed the enum_statement to accept
	empty enum declarations.

	* jscript-lexer-parser.g: Got the type of a
	veriable_declaration.

	* jscript-lexer-parser.g: Initial construction of AST for
	primary_expression (in particular literal).


2003-07-27  Cesar Lopez Nataren  <cesar@ciencias.unam.mx>

	* driver.cs: Modified the driver structure to be compatible
	with our new CodeGenrator and SemanticAnalizer. I
	removed the builders from Reflection.Emit to the
	CodeGenerator. Added an ASTList, SemanticAnalizer and
	CodeGenerator here. Adde methods Run, GenerateCode


2003-07-27  Cesar Lopez Nataren  <cesar@ciencias.unam.mx>
	* Statement.cs: Forgot to include it on last commit.

2003-07-27  Cesar Lopez Nataren  <cesar@ciencias.unam.mx>
	
	* Decided to change temporarly namespace name
	Microsoft.JScript to Microsoft.JScript.Tmp in order to be able
	to run the code generated by our CIL code generator (on  next
	commit will come). The problem is that we don't have the
	runtime support for our compiler, this involve VsaEngine class
	and its "friends", which I have not found a lot of
	doumentation for. If someone knows a docs place for them,
	don't hesitate to send me a email pointing to them.

	* Changed from public to internal Visit function at some
	classes.

	* Package.cs: Added Name and Members fields.
	
	* SemanticAnalizer.cs: Added methods VisitPrint and
	VisitStringLiteral.

	* VariableDeclaration.cs: Added Type field.

	* Visitor.cs: Changed from public to internal. Added
	VisitPrint and VisitStringLiteral methods.

	* VsaEngine.cs: Fixed namespace name from Microsoft.JScript to
	Microsoft.JScript.Vsa and then to Microsoft.JScript.Vsa.Tmp.
	



2003-07-22  Cesar Lopez Nataren  <cesar@ciencias.unam.mx>

	* Added CmdLineError.cs and JSError.cs, last night I forgot to
	commit them.

2003-07-21 Cesar Lopez Nataren <cesar@ciencias.unam.mx>
	* Added files:
	ArrayPrototype.cs, ArrayWrapper.cs, BitwiseBinary.cs, 
	BlockScope.cs, BooleanPrototype.cs, BreakOutOfFinally.cs, 
	CmdLineException.cs, CmdLineOptionParser.cs, 
	ContinueOutOfFinally.cs, Convert.cs, DatePrototype.cs, 
	DocumentContext.cs, EnumeratorPrototype.cs, Equality.cs, 
	ErrorPrototype.cs, EvalErrorObject.cs, Expando.cs, 
	FieldAccessor.cs, FunctionPrototype.cs, FunctionWrapper.cs, 
	Globals.cs, In.cs, InstanceOf.cs, JSConstructor.cs, 
	JScriptException.cs, JSFieldInfo.cs, JSMethodInfo.cs, JSParser.cs, 
	JSPrototypeObject.cs, JSScanner.cs, LateBinding.cs, 
	LenientArrayPrototype.cs, LenientBooleanPrototype.cs, 
	LenientDateConstructor.cs, LenientDatePrototype.cs, 
	LenientEnumeratorPrototype.cs, LenientErrorPrototype.cs, 
	LenientFunctionPrototype.cs, LenientMathObject.cs, 
	LenientNumberPrototype.cs, LenientObjectPrototype.cs, 
	LenientRegExpPrototype.cs, LenientStringConstructor.cs, 
	LenientStringPrototype.cs, LenientVBArrayPrototype.cs, 
	MemberInfoList.cs, MethodInvoker.cs, Missing.cs, Namespace.cs, 
	NotRecommendedAttribute.cs, NumberPrototype.cs, NumericBinary.cs, 
	NumericUnary.cs, ObjectPrototype.cs, Plus.cs, 
	PostOrPrefixOperator.cs, RangeErrorObject.cs, 
	ReferenceAttribute.cs, ReferenceErrorObject.cs, RegExpMatch.cs, 
	RegExpPrototype.cs, Relational.cs, ResInfo.cs, 
	ReturnOutOfFinally.cs, ScriptStream.cs, SimpleHashtable.cs, 
	StackFrame.cs, StrictEquality.cs, StringPrototype.cs, 
	SuperTypeMembersSorter.cs, SyntaxErrorObject.cs, TypedArray.cs, 
	TypeErrorObject.cs, TypeOf.cs, TypeReflector.cs, 
	URIErrorObject.cs, VBArrayObject.cs, VBArrayPrototype.cs, 
	VersionableAttribute.cs 

	Now, I must fill in the blanks :-)


2003-07-09  Cesar Lopez Nataren  <cesar@ciencias.unam.mx>
	* jscript-lexer-parser.g: Added conditional_compilation_directive,
	which is the beginning of our support for conditional compilation
	statements and directives in our parser. Added
	cc_on_statement, and some lexer rules for getting the needed
	tokens (COND_SET, COND_DEBUG, COND_POSITION, COND_POSITION,
	COND_IF, COND_ELIF, COND_ELSE, COND_END and CC_ON.


2003-07-03  Cesar Lopez Nataren  <cesar@ciencias.unam.mx>

	* jscript-lexer-parser.g: Changed the format of copyright notice.

	This changes will allow the support
	for the grammar added by MS to EcmaScript (aka its JScript .Net),
	I'm still missing some, but they are on the way.

	* jscript-lexer-parser.g: Deleted function_declaration, and
	added global_function_declaration and type_function_declaration.
	I decided  to make the grammar as strict as the MS docs mark,
	but there's a difference between what their docs says and what
	their compiler does. For this case I decided to follow the
	docs. A program like: 
		private function F () 
		{}
	according to the docs, would not be syntaticly correct. But the MS
	compiler, accepts the grammar construct and mark the error at
	semantic analysis phase. I followed the docs this time.	

	* jscript-lexer-parser.g: Added debbuger_statement.
	* jscript-lexer-parser.g: Added import_statement.
	* jscript-lexer-parser.g: Added package_statement and package_member(s).
	* jscript-lexer-parser.g: Added super_statement.
	* jscript-lexer-parser.g: Added const_statement.
	* jscript-lexer-parser.g: Added class_statement,
	interfaces_list and class_members. 

	* jscript-lexer-parser.g: Added interface_statement and
	interface_members.

	* jscript-lexer-parser.g: Added enum_statement.
	* jscript-lexer-parser.g: Added static_statement. The rule for
	this syntatic construc is: static identifier { [body] }
	body does not get well specified in the docs. Must search wich
	are the possible values of it.

	* jscript-lexer-parser.g: At variable_declaration, added
	support for explicit type declaration.

	* jscript-lexer-parser.g: Added numeric_literal,
	DECIMAL_LITERAL and HEX_INTEGER_LITERAL.

	* jscript-lexer-parser.g: Added modifiers, modifier, version_modifier.


2003-06-09  Cesar Lopez Nataren  <cesar@ciencias.unam.mx>


	* Added the Visit method to classes: AST, ArrayLiteral, ASTList,
	Block, DebugBreak, Eval, ForIn, FunctionDeclaration,
	FunctionExpression, Import, Package, ScriptBlock, Throw, Try,
	With, 
	
	That method will be the driver that will allow classes
	that implement the Visitor interface do a walk through the AST's
	elements, in particular the Semantic Analizer and the Code
	Generator. Every class that inherits from AST will have a Visit
	method, that method will receive a Visitor and a object as
	parameters, the only thing that it'll do is letting the Visitor
	call the respective method VisitX, where X is the name of the
	currently visited class.
	
	* ASTList.cs:Added constructor, Add, Visit, ToString  methods.

	* FunctionDeclaration.cs: Added constructor, Visit and ToString
	methods.
	
	* jscript-lexer-parser.g: Added a ASTList as a parameter to the
	program (the main entry of the parser). Also added as parameters: 
		- An AST to source_element.
		- A Statement to statement.
		- A VariableStatement to variable_statement.
		- A VariableStatement to variable_declaration_list.
		- A FormalParamerList by formal_parameter_list.
		- A ASTList by function_body.
	
	And now some rules return objects:
		- A VariableDeclaration by variable_declaration.
		- A Functiondeclaration by function_declaration.

	* driver.cs: Added the construction of the AST of the EcmaScript
	program.

	* Visitor.cs: Added this file. It's the visitor interface. 

	* VariableDeclaration.cs: Added this class, it's the AST
	representation of a variable declaration.

	* Statement.cs: Added this file. It's the logical representation
	of a Statement.

	* VariableStatement.cs: Added this class. It's the AST
	representation of a chain of variable declarations.
	
	* FormalParameterList.cs: The function declaration needs to store
	its parameter, we will put them on this class.

	* SemanticAnalizer.cs: Added this class. I'll use the Visitor pattern in order to
	implement the semantic analysis and code generation
	phases. SemanticAnalizer and CodeGenerator will implement the
	Visitor interface, they will walk a program's
	AST tree and do their respective work.

	* IdentificationTable.cs: Added this class. The SymbolTable will be used
	by the SemanticAnalyzer in order to keep track of the variable
	declaration encountered, etc..

	* SymbolTable.cs: A simple hashtable but for commodity i'll call
	it this way.

	
2003-05-03  Cesar Lopez Nataren  <cesar@ciencias.unam.mx>

	* jscript-lexer-parser.g:
	- Deleted the assignment_operator COMPOUND_ASSIGNMENT, and added
	MULTIPLICATION_ASSIGN, DIVISION_ASSIGN, REMAINDER_ASSIGN,
	ADDITION_ASSIGN, SUBSTRACTION_ASSIGN, SIGNED_LEFT_SHIFT_ASSIGN,
	SIGNED_RIGHT_SHIFT_ASSIGN, UNSIGNED_RIGHT_SHIFT_ASSIGN,
	BITWISE_AND_ASSIGN, BITWISE_OR_ASSIGN.
	- Changed INTERROGATION to CONDITIONAL.
	- Changed TRIANGLE to BITWISE_XOR.
	- Changed SLASH to DIVISION.
	- Changed PERCENT to REMAINDER.
	- Changed ADMIRATION to LOGICAL_NOT
	- Added BITWISE_NOT (~).
	- Added the INCREMENT and DECREMENT rules for
	left_hand_side_expression.
	- Increased lexer lookup from 2 to 4.
	- Redefined the definitions of: L_THAN, G_THAN, MINUS, TIMES,
	BITWISE_AND, BITWISE_OR,
	- Added operator: EQUALS, DOES_NOT_EQUALS, STRICT_EQUALS,
	REMAINDER, UNSIGNED_RIGHT_SHIFT.
	- Added the recursion rules for equality_expression.
	- Added the recursion rules for shift_expression.
	- Now we skip tabs.
	- The most important thing, added support for expressions like:
	sdf.[hgh], cool!

2003-04-20	Cesar Octavio Lopez Nataren <cesar@ciencias.unam.mx>

	* driver.cs: 
	- Erased the Context class, it was used for the first
	test of the print_statement and Reflection.Emit. As I erased the
	Program, SourceElements, SourceElement from the ANTLR grammar (for
	the rework of the AST tied to the MS JScript public API), I erased
	some uses in here.
	- Erased the methods: EmitJScript0Type, EmitJScript0Cons,
	EmitGlobalCode, EmitJScript0, EmitJScriptMainType,
	EmitJScriptMainCons, EmitJScriptMainFunction, EmitJScriptMain,
	Emit.

	* jscript-lexer-parser.g: 
	- Erased the references to the classes Program, SourceElements,
	SourceElement, Statement, FunctionDeclaration and erased
	print_statement rule. 

	* JSCriptLexer.cs JScriptParser.cs and the other files generated
	by antlr, reflect changes from the grammar changes.

2003-04-19	Cesar Octavio Lopez Nataren <cesar@ciencias.unam.mx>
	* Added stubs for the classes:
	ASTList.cs 
	ActivationObject.cs 
	ActiveXObjectConstructor.cs 
	ArrayConstructor.cs 
	ArrayLiteral.cs 
	ArrayObject.cs 
	AssemblyCustomAttributeList.cs 
	BaseVsaEngine.cs 
	BinaryOp.cs 
	Binding.cs 
	Block.cs 
	BooleanConstructor.cs 
	BooleanObject.cs 
	Closure.cs 
	Context.cs 
	DateConstructor.cs 
	DateObject.cs 
	DebugBreak.cs 
	Empty.cs 
	EnumeratorConstructor.cs 
	EnumeratorObject.cs 
	ErrorConstructor.cs 
	ErrorObject.cs 
	Eval.cs 
	ForIn.cs 
	FunctionConstructor.cs 
	FunctionDeclaration.cs 
	FunctionExpression.cs 
	FunctionObject.cs 
	GlobalObject.cs 
	GlobalScope.cs 
	IActivationObject.cs 
	IRedirectOutput.cs 
	IVsaScriptScope.cs 
	Import.cs 
	JSBuiltIn.cs 
	JSField.cs 
	JSFunctionAttribute.cs 
	JSFunctionAttributeEnum.cs 
	JSLocalField.cs 
	JSObject.cs 
	JSToken.cs 
	JSVariableField.cs 
	LenientGlobalObject.cs 
	MathObject.cs 
	NumberConstructor.cs 
	NumberObject.cs 
	ObjectConstructor.cs 
	Package.cs 
	RegExpConstructor.cs 
	RegExpObject.cs 
	ScriptBlock.cs 
	ScriptFunction.cs 
	ScriptObject.cs 
	StringConstructor.cs 
	StringObject.cs 
	Throw.cs 
	Try.cs 
	UnaryOp.cs 
	VBArrayConstructor.cs 
	VsaEngine.cs 
	With.cs 	
	

2003-04-11	Cesar Octavio Lopez Nataren <cesar@ciencias.unam.mx>

	* jscript-lexer-parser.g:
	- Added rules for: continue_statement, break_statement,
	return_statement, throw statement (all of them do not ensure that
	no LineSeparator appears between the keyword on the left and the
	identifier, expression or semicolon on the right, that must be fixed).
	- Added single line comments rule.

2003-04-08	Cesar Octavio Lopez Nataren <cesar@ciencias.unam.mx>

	* jscript-lexer-parser.g: Added syntatic rule for:
	- if_statement.
	- while and for-in subrules of iteration_statement.
	- Added array_literal - got tricky - I just could get the simplest rule going :)
	- Added elision.

	
2003-04-08	Cesar Octavio Lopez Nataren <cesar@ciencias.unam.mx>

	* jscript-lexer-parser.g:
	- Syntatic rule for iteration_statement.
	- "do" subrule for it.
	- Added ((L_THAN | G_THAN | LE_THAN | GE_THAN | "instanceof" |
	"in") relational_expression | )	rule to relational_expression.
	-Added function_expression syntatic rule.
	- Added STRING_LITERAL to literal rules.
	- "Less/Greater or equal than" lexer rule.

2003-04-03	Cesar Octavio Lopez Nataren <cesar@ciencias.unam.mx>

	* jscript-lexer-parser.g: Added switch_statement rule, case_block, case_clauses, case_clause, default_clause, labelled_statement, try_statement, catch_exp, finally_exp.

2003-04-01    Cesar Octavio Lopez Nataren <cesar@ciencias.unam.mx>

	* jscript-lexer-parser.g: Added the grammar rules for: with_statement, object_literal, ( expression ), property_name_and_value_list, property_name and expression.
	

2003-03-30    Cesar Octavio Lopez Nataren <cesar@ciencias.unam.mx>

	* Added a README file. Explains the dependencies and build process.

2003-03-30   Cesar Octavio Lopez Nataren <cesar@ciencias.unam.mx>

	* Added this ChangeLog file.
	
	* ast.cs: Added this file. Contains the classes used for building
	the EcmaScript 's AST.

	* JScript*: These are the files generated by antlr (the parser generator). 

	* TODOAttribute.cs: Changed the namespace in order to use it freely on Microsoft.JScript.

	* driver.cs: Added this file. Contains the compiler entry point. And some Reflection.Emit methods,
	that will be moved to other file in the future.

	* jscript-lexer-parser.g: The EcmaScript's antlr grammar.	
