Beispiel #1
0
 private void ExpectKeyPath(char c)
 {
     if (c == '[')
     {
         ++NumberOfClosingBracketsExpected;
         Buffer.Append(c);
     }
     else if (c == ']')
     {
         if (0 == NumberOfClosingBracketsExpected)
         {
             CurrentKey = Result.FindOrCreateKey(Buffer.ToString());
             ParserState = ExpectCarriageReturn;
         }
         else if (NumberOfClosingBracketsExpected > 0)
         {
             --NumberOfClosingBracketsExpected;
             Buffer.Append(c);
         }
         else
         {
             throw SyntaxError("Too many closing square brackets");
         }
         
     }
     else
     {
         Buffer.Append(c);
     }
 }