Author: olivier
Date: 2007-09-06 02:13:17 -0400 (Thu, 06 Sep 2007)
New Revision: 85390

Modified:
   
trunk/olive/class/Microsoft.JScript.Compiler/Microsoft.JScript.Compiler/ChangeLog
   
trunk/olive/class/Microsoft.JScript.Compiler/Microsoft.JScript.Compiler/TokenCategorizer.cs
Log:
2007-09-06  Olivier Dufour  <[EMAIL PROTECTED]>

        * TokenCategorizer.cs: Implement ReadToken and start to do unit test on 
it

Modified: 
trunk/olive/class/Microsoft.JScript.Compiler/Microsoft.JScript.Compiler/ChangeLog
===================================================================
--- 
trunk/olive/class/Microsoft.JScript.Compiler/Microsoft.JScript.Compiler/ChangeLog
   2007-09-06 05:18:18 UTC (rev 85389)
+++ 
trunk/olive/class/Microsoft.JScript.Compiler/Microsoft.JScript.Compiler/ChangeLog
   2007-09-06 06:13:17 UTC (rev 85390)
@@ -1,3 +1,7 @@
+2007-09-06  Olivier Dufour  <[EMAIL PROTECTED]>
+
+       * TokenCategorizer.cs: Implment ReadToken and start to do unit test on 
it
+
 2007-08-25  Olivier Dufour  <[EMAIL PROTECTED]>
 
        * RowanGenerator.cs: code quite all statement things. 

Modified: 
trunk/olive/class/Microsoft.JScript.Compiler/Microsoft.JScript.Compiler/TokenCategorizer.cs
===================================================================
--- 
trunk/olive/class/Microsoft.JScript.Compiler/Microsoft.JScript.Compiler/TokenCategorizer.cs
 2007-09-06 05:18:18 UTC (rev 85389)
+++ 
trunk/olive/class/Microsoft.JScript.Compiler/Microsoft.JScript.Compiler/TokenCategorizer.cs
 2007-09-06 06:13:17 UTC (rev 85390)
@@ -61,149 +61,161 @@
                        return new TokenInfo (span, category, trigger);
                }
 
-               [MonoTODO]
                private TokenCategory GetCategory(Token.Type type)
                {
-                       throw new NotImplementedException ();
-                       /*switch (type) {                               
-                               case Token.Type.None:                           
        
-                               case Token.Type.EndOfInput:                     
                
-                               case Token.Type.LeftBrace:                      
                
-                               case Token.Type.RightBrace:                     
                
-                               case Token.Type.LeftParenthesis:                
                        
-                               case Token.Type.RightParenthesis:               
                        
-                               case Token.Type.LeftBracket:                    
                
-                               case Token.Type.RightBracket:                   
                
-                               case Token.Type.Dot:                            
        
-                               case Token.Type.Semicolon:                      
                
-                               case Token.Type.Comma:                          
        
-                               case Token.Type.Less:                           
        
-                               case Token.Type.Greater:                        
                
-                               case Token.Type.LessEqual:                      
                
-                               case Token.Type.GreaterEqual:                   
                
-                               case Token.Type.EqualEqual:                     
                
-                               case Token.Type.BangEqual:                      
                
-                               case Token.Type.EqualEqualEqual:                
                        
-                               case Token.Type.BangEqualEqual:                 
                
-                               case Token.Type.Plus:                           
        
-                               case Token.Type.Minus:                          
        
-                               case Token.Type.Star:                           
        
-                               case Token.Type.Percent:                        
                
-                               case Token.Type.PlusPlus:                       
                
-                               case Token.Type.MinusMinus:                     
                
-                               case Token.Type.LessLess:                       
                
-                               case Token.Type.GreaterGreater:                 
                
-                               case Token.Type.GreaterGreaterGreater:          
                        
-                               case Token.Type.Ampersand:                      
                
-                               case Token.Type.Bar:                            
        
-                               case Token.Type.Circumflex:                     
                
-                               case Token.Type.Bang:                           
        
-                               case Token.Type.Tilda:                          
        
-                               case Token.Type.AmpersandAmpersand:             
                        
-                               case Token.Type.BarBar:                         
        
-                               case Token.Type.Question:                       
                
-                               case Token.Type.Colon:                          
        
-                               case Token.Type.Equal:                          
        
-                               case Token.Type.PlusEqual:                      
                
-                               case Token.Type.MinusEqual:                     
                
-                               case Token.Type.StarEqual:                      
                
-                               case Token.Type.PercentEqual:                   
                
-                               case Token.Type.LessLessEqual:                  
                
-                               case Token.Type.GreaterGreaterEqual:            
                        
-                               case Token.Type.GreaterGreaterGreaterEqual:     
                                
-                               case Token.Type.AmpersandEqual:                 
                
-                               case Token.Type.BarEqual:                       
                
-                               case Token.Type.CircumflexEqual:                
                        
-                               case Token.Type.Divide:                         
        
+                       switch (type) {                         
+                               case Token.Type.None:
+                                       return TokenCategory.None;
+                               case Token.Type.EndOfInput:
+                                       return TokenCategory.EndOfStream;
+                               case Token.Type.LeftBrace:
+                               case Token.Type.RightBrace:
+                               case Token.Type.LeftParenthesis:
+                               case Token.Type.RightParenthesis:
+                               case Token.Type.LeftBracket:
+                               case Token.Type.RightBracket:
+                               case Token.Type.Dot:
+                               case Token.Type.Semicolon:
+                               case Token.Type.Comma:
+                                       return TokenCategory.Delimiter;
+                               case Token.Type.Less:
+                               case Token.Type.Greater:
+                               case Token.Type.LessEqual:
+                               case Token.Type.GreaterEqual:
+                               case Token.Type.EqualEqual:
+                               case Token.Type.BangEqual:
+                               case Token.Type.EqualEqualEqual:
+                               case Token.Type.BangEqualEqual:
+                               case Token.Type.Plus:
+                               case Token.Type.Minus:
+                               case Token.Type.Star:
+                               case Token.Type.Percent:
+                               case Token.Type.PlusPlus:
+                               case Token.Type.MinusMinus:
+                               case Token.Type.LessLess:
+                               case Token.Type.GreaterGreater:
+                               case Token.Type.GreaterGreaterGreater:
+                               case Token.Type.Ampersand:
+                               case Token.Type.Bar:
+                               case Token.Type.Circumflex:
+                               case Token.Type.Bang:
+                               case Token.Type.Tilda:
+                               case Token.Type.AmpersandAmpersand:
+                               case Token.Type.BarBar:
+                               case Token.Type.Question:
+                               case Token.Type.Colon:
+                               case Token.Type.Equal:
+                               case Token.Type.PlusEqual:
+                               case Token.Type.MinusEqual:
+                               case Token.Type.StarEqual:
+                               case Token.Type.PercentEqual:
+                               case Token.Type.LessLessEqual:
+                               case Token.Type.GreaterGreaterEqual:
+                               case Token.Type.GreaterGreaterGreaterEqual:
+                               case Token.Type.AmpersandEqual:
+                               case Token.Type.BarEqual:
+                               case Token.Type.CircumflexEqual:
+                               case Token.Type.Divide:
                                case Token.Type.DivideEqual:
+                                       return TokenCategory.Operator;
                                case [EMAIL PROTECTED]:
                                case [EMAIL PROTECTED]:
-                               case [EMAIL PROTECTED]:                         
        
-                               case Token.Type.var:                            
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case Token.Type.function:                       
                
-                               case [EMAIL PROTECTED]:                         
        
-                               case Token.Type.with:                           
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case Token.Type.delete:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case Token.Type.instanceof:                     
                
-                               case [EMAIL PROTECTED]:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case Token.Type.boolean:                        
                
-                               case Token.Type.export:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case Token.Type.extends:                        
                
-                               case [EMAIL PROTECTED]:                         
        
-                               case Token.Type.super:                          
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case Token.Type.final:                          
        
-                               case Token.Type.native:                         
        
-                               case Token.Type.synchronized:                   
                
-                               case [EMAIL PROTECTED]:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case Token.Type.packate:                        
                
-                               case Token.Type.throws:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case Token.Type.transient:                      
                
-                               case Token.Type.debugger:                       
                
-                               case Token.Type.implements:                     
                
-                               case [EMAIL PROTECTED]:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case Token.Type.import:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case [EMAIL PROTECTED]:                         
        
-                               case Token.Type.NumericLiteral:                 
                
-                               case Token.Type.HexIntegerLiteral:              
                        
-                               case Token.Type.OctalIntegerLiteral:            
                        
-                               case Token.Type.StringLiteral:                  
                
-                               case Token.Type.RegularExpressionLiteral:       
                                
-                               case Token.Type.Identifier:                     
                
-                               case Token.Type.Bad:                            
        
+                               case [EMAIL PROTECTED]:
+                               case Token.Type.var:
+                               case [EMAIL PROTECTED]:
+                               case [EMAIL PROTECTED]:
+                               case [EMAIL PROTECTED]:
+                               case [EMAIL PROTECTED]:
+                               case [EMAIL PROTECTED]:
+                               case [EMAIL PROTECTED]:
+                               case [EMAIL PROTECTED]:
+                               case [EMAIL PROTECTED]:
+                               case [EMAIL PROTECTED]:
+                               case Token.Type.function:
+                               case [EMAIL PROTECTED]:
+                               case Token.Type.with:
+                               case [EMAIL PROTECTED]:
+                               case [EMAIL PROTECTED]:
+                               case [EMAIL PROTECTED]:
+                               case Token.Type.delete: 
+                               case [EMAIL PROTECTED]: 
+                               case [EMAIL PROTECTED]: 
+                               case [EMAIL PROTECTED]: 
+                               case Token.Type.instanceof:     
+                               case [EMAIL PROTECTED]: 
+                               case [EMAIL PROTECTED]: 
+                               case [EMAIL PROTECTED]: 
+                               case [EMAIL PROTECTED]: 
+                               case [EMAIL PROTECTED]: 
+                               case Token.Type.boolean:        
+                               case Token.Type.export: 
+                               case [EMAIL PROTECTED]: 
+                               case [EMAIL PROTECTED]: 
+                               case [EMAIL PROTECTED]: 
+                               case Token.Type.extends:        
+                               case [EMAIL PROTECTED]: 
+                               case Token.Type.super:  
+                               case [EMAIL PROTECTED]: 
+                               case Token.Type.final:  
+                               case Token.Type.native: 
+                               case Token.Type.synchronized:   
+                               case [EMAIL PROTECTED]: 
+                               case [EMAIL PROTECTED]: 
+                               case Token.Type.packate:        
+                               case Token.Type.throws: 
+                               case [EMAIL PROTECTED]: 
+                               case [EMAIL PROTECTED]: 
+                               case [EMAIL PROTECTED]: 
+                               case Token.Type.transient:      
+                               case Token.Type.debugger:       
+                               case Token.Type.implements:     
+                               case [EMAIL PROTECTED]: 
+                               case [EMAIL PROTECTED]: 
+                               case [EMAIL PROTECTED]: 
+                               case Token.Type.import: 
+                               case [EMAIL PROTECTED]: 
+                               case [EMAIL PROTECTED]: 
+                               case [EMAIL PROTECTED]: 
+                               case [EMAIL PROTECTED]:
+                                       return TokenCategory.Keyword;
+                               case Token.Type.HexIntegerLiteral:
+                               case Token.Type.OctalIntegerLiteral:
+                               case Token.Type.NumericLiteral:
+                                       return TokenCategory.NumericLiteral;
+                               case Token.Type.StringLiteral:
+                                       return TokenCategory.StringLiteral;
+                               case Token.Type.RegularExpressionLiteral:
+                                       return 
TokenCategory.RegularExpressionLiteral;
+                               case Token.Type.Identifier:
+                                       return TokenCategory.Identifier;
+                               case Token.Type.Bad:
+                                       return TokenCategory.Error;
                                case Token.Type.Comment:
                                        return TokenCategory.Comment;
                        }
-                       return TokenCategory.Comment;*/
+                       return TokenCategory.None;
                }
 
-               [MonoTODO]
                private TokenTriggers GetTrigger(Token.Type type)
                {
-                       throw new NotImplementedException ();
-                       /*switch (type) {
-                               case Token.Type.None:
-                               case Token.Type.EndOfInput:
+                       switch (type) {
                                case Token.Type.LeftBrace:
                                case Token.Type.RightBrace:
+                               case Token.Type.LeftBracket:
+                               case Token.Type.RightBracket:
+                                       return TokenTriggers.MatchBraces;
                                case Token.Type.LeftParenthesis:
+                                       return TokenTriggers.MatchBraces | 
TokenTriggers.ParameterStart;
                                case Token.Type.RightParenthesis:
-                               case Token.Type.LeftBracket:
-                               case Token.Type.RightBracket:
+                                       return TokenTriggers.MatchBraces | 
TokenTriggers.ParameterEnd ;
                                case Token.Type.Dot:
+                                       return TokenTriggers.MemberSelect;
+                               case Token.Type.Comma:
+                                       return TokenTriggers.ParameterNext;
+                               //TODO : not found wher e we can use 
TokenTriggers.Parameter
+                               case Token.Type.None:
+                               case Token.Type.EndOfInput:
                                case Token.Type.Semicolon:
-                               case Token.Type.Comma:
                                case Token.Type.Less:
                                case Token.Type.Greater:
                                case Token.Type.LessEqual:
@@ -310,9 +322,9 @@
                                case Token.Type.Identifier:
                                case Token.Type.Bad:
                                case Token.Type.Comment:
-                                       return TokenTriggers.MatchBraces;
+                                       return TokenTriggers.None;
                        }
-                       return TokenTriggers.MatchBraces;*/
+                       return TokenTriggers.None;
                }
 
                public override IEnumerable<TokenInfo> ReadTokens(int 
countOfChars)

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to