LitJson.JsonReader.PopulateParseTable C# (CSharp) Method

PopulateParseTable() static private method

static private PopulateParseTable ( ) : void
return void
        static void PopulateParseTable()
        {
            // See section A.2. of the manual for details
            parse_table = new Dictionary<int, IDictionary<int, int[]>>();

            TableAddRow(ParserToken.Array);
            TableAddCol(ParserToken.Array, '[',
                         '[',
                         (int)ParserToken.ArrayPrime);

            TableAddRow(ParserToken.ArrayPrime);
            TableAddCol(ParserToken.ArrayPrime, '"',
                         (int)ParserToken.Value,

                         (int)ParserToken.ValueRest,
                         ']');
            TableAddCol(ParserToken.ArrayPrime, '[',
                         (int)ParserToken.Value,
                         (int)ParserToken.ValueRest,
                         ']');
            TableAddCol(ParserToken.ArrayPrime, ']',
                         ']');
            TableAddCol(ParserToken.ArrayPrime, '{',
                         (int)ParserToken.Value,
                         (int)ParserToken.ValueRest,
                         ']');
            TableAddCol(ParserToken.ArrayPrime, (int)ParserToken.Number,
                         (int)ParserToken.Value,
                         (int)ParserToken.ValueRest,
                         ']');
            TableAddCol(ParserToken.ArrayPrime, (int)ParserToken.True,
                         (int)ParserToken.Value,
                         (int)ParserToken.ValueRest,
                         ']');
            TableAddCol(ParserToken.ArrayPrime, (int)ParserToken.False,
                         (int)ParserToken.Value,
                         (int)ParserToken.ValueRest,
                         ']');
            TableAddCol(ParserToken.ArrayPrime, (int)ParserToken.Null,
                         (int)ParserToken.Value,
                         (int)ParserToken.ValueRest,
                         ']');

            TableAddRow(ParserToken.Object);
            TableAddCol(ParserToken.Object, '{',
                         '{',
                         (int)ParserToken.ObjectPrime);

            TableAddRow(ParserToken.ObjectPrime);
            TableAddCol(ParserToken.ObjectPrime, '"',
                         (int)ParserToken.Pair,
                         (int)ParserToken.PairRest,
                         '}');
            TableAddCol(ParserToken.ObjectPrime, '}',
                         '}');

            TableAddRow(ParserToken.Pair);
            TableAddCol(ParserToken.Pair, '"',
                         (int)ParserToken.String,
                         ':',
                         (int)ParserToken.Value);

            TableAddRow(ParserToken.PairRest);
            TableAddCol(ParserToken.PairRest, ',',
                         ',',
                         (int)ParserToken.Pair,
                         (int)ParserToken.PairRest);
            TableAddCol(ParserToken.PairRest, '}',
                         (int)ParserToken.Epsilon);

            TableAddRow(ParserToken.String);
            TableAddCol(ParserToken.String, '"',
                         '"',
                         (int)ParserToken.CharSeq,
                         '"');

            TableAddRow(ParserToken.Text);
            TableAddCol(ParserToken.Text, '[',
                         (int)ParserToken.Array);
            TableAddCol(ParserToken.Text, '{',
                         (int)ParserToken.Object);

            TableAddRow(ParserToken.Value);
            TableAddCol(ParserToken.Value, '"',
                         (int)ParserToken.String);
            TableAddCol(ParserToken.Value, '[',
                         (int)ParserToken.Array);
            TableAddCol(ParserToken.Value, '{',
                         (int)ParserToken.Object);
            TableAddCol(ParserToken.Value, (int)ParserToken.Number,
                         (int)ParserToken.Number);
            TableAddCol(ParserToken.Value, (int)ParserToken.True,
                         (int)ParserToken.True);
            TableAddCol(ParserToken.Value, (int)ParserToken.False,
                         (int)ParserToken.False);
            TableAddCol(ParserToken.Value, (int)ParserToken.Null,
                         (int)ParserToken.Null);

            TableAddRow(ParserToken.ValueRest);
            TableAddCol(ParserToken.ValueRest, ',',
                         ',',
                         (int)ParserToken.Value,
                         (int)ParserToken.ValueRest);
            TableAddCol(ParserToken.ValueRest, ']',
                         (int)ParserToken.Epsilon);
        }

Usage Example

Example #1
0
 static JsonReader()
 {
     JsonReader.PopulateParseTable();
 }