Beispiel #1
0
 public override bool IsStackMatch(List <Token> stack)
 {
     if (DefaultStackCheck(stack, rule))
     {
         if (KeywordsDictionary.IsKeyword(KeywordType.VariableDeclaration, stack[stack.Count - 10].Value) &&
             KeywordsDictionary.IsKeyword(KeywordType.VariableDeclarationSecond, stack[stack.Count - 6].Value) &&
             stack[stack.Count - 1].Value == "?")
         {
             PerformRuleTransform(stack);
             return(true);
         }
     }
     foreach (var curRule in variations)
     {
         if (DefaultStackCheck(stack, curRule))
         {
             if (KeywordsDictionary.IsKeyword(KeywordType.VariableDeclaration, stack[stack.Count - 10].Value) &&
                 KeywordsDictionary.IsKeyword(KeywordType.VariableDeclarationSecond, stack[stack.Count - 6].Value) &&
                 stack[stack.Count - 1].Value == "?")
             {
                 PerformRuleTransform(stack);
                 return(true);
             }
         }
     }
     return(false);
 }
 public override bool IsStackMatch(List <Token> stack)
 {
     if (DefaultStackCheck(stack, rule))
     {
         if (KeywordsDictionary.IsKeyword(KeywordType.ArifmeticMultiplication, stack[stack.Count - 3].Value))
         {
             PerformRuleTransform(stack);
             return(true);
         }
     }
     return(false);
 }
 public override bool IsStackMatch(List <Token> stack)
 {
     if (DefaultStackCheck(stack, rule))
     {
         if (KeywordsDictionary.IsKeyword(KeywordType.MethodDeclarationParameters, stack[stack.Count - 5].Value))
         {
             PerformRuleTransform(stack);
             return(true);
         }
     }
     return(false);
 }
Beispiel #4
0
 public override bool IsStackMatch(List <Token> stack)
 {
     if (DefaultStackCheck(stack, rule))
     {
         if (KeywordsDictionary.IsKeyword(KeywordType.VariableRewriting, stack[stack.Count - 4].Value))
         {
             PerformRuleTransform(stack);
             return(true);
         }
     }
     return(false);
 }
Beispiel #5
0
 public override bool IsStackMatch(List <Token> stack)
 {
     if (DefaultStackCheck(stack, rule))
     {
         if (KeywordsDictionary.IsKeyword(KeywordType.BooleanComparatorNot, stack[stack.Count - 3].Value))
         {
             PerformRuleTransform(stack);
             return(true);
         }
     }
     return(false);
 }
 public override bool IsStackMatch(List <Token> stack)
 {
     if (DefaultStackCheck(stack, rule))
     {
         if (KeywordsDictionary.IsKeyword(KeywordType.DoWhileStart, stack[stack.Count - 2].Value) &&
             stack[stack.Count - 1].Value == ":")
         {
             PerformRuleTransform(stack);
             return(true);
         }
     }
     return(false);
 }
Beispiel #7
0
 public override bool IsStackMatch(List <Token> stack)
 {
     if (DefaultStackCheck(stack, rule))
     {
         if (KeywordsDictionary.IsKeyword(KeywordType.ArifmeticAdditionPrefixFirst, stack[stack.Count - 7].Value) &&
             KeywordsDictionary.IsKeyword(KeywordType.ArifmeticAdditionPrefixSecond, stack[stack.Count - 3].Value))
         {
             PerformRuleTransform(stack);
             return(true);
         }
     }
     return(false);
 }
Beispiel #8
0
 public override bool IsStackMatch(List <Token> stack)
 {
     if (DefaultStackCheck(stack, rule))
     {
         if (KeywordsDictionary.IsKeyword(KeywordType.ForeachStartFirst, stack[stack.Count - 10].Value) &&
             KeywordsDictionary.IsKeyword(KeywordType.ForeachStartSecond, stack[stack.Count - 4].Value) &&
             stack[stack.Count - 1].Value == ",")
         {
             PerformRuleTransform(stack);
             return(true);
         }
     }
     return(false);
 }
 public override bool IsStackMatch(List <Token> stack)
 {
     if (DefaultStackCheck(stack, rule))
     {
         if (KeywordsDictionary.IsKeyword(KeywordType.ClassImplements, stack[stack.Count - 3].Value))
         {
             PerformRuleTransform(stack);
             return(true);
         }
     }
     foreach (var curRule in variations)
     {
         if (DefaultStackCheck(stack, curRule))
         {
             PerformRuleTransform(stack);
             return(true);
         }
     }
     return(false);
 }
Beispiel #10
0
 public InitialAnalysis()
 {
     _rules = new List <TokenRule>()
     {
         new CharToNameRule(), new NameMergeRule(), new WhiteSpaceMergeRule()
     };
     for (var i = 0; i < _rules.Count - 1; i++) // Comment this if need specific order
     {
         for (var j = i + 1; j < _rules.Count; j++)
         {
             if (_rules[i].Amount < _rules[j].Amount)
             {
                 var temp = _rules[i];
                 _rules[i] = _rules[j];
                 _rules[j] = temp;
             }
         }
     }
     _keywords       = KeywordsDictionary.GetKeywords().ToArray();
     _variablesTypes = KeywordsDictionary.GetVariableTypes().ToArray();
     Sort(ref _keywords);
     Sort(ref _variablesTypes);
 }