Exemple #1
0
        private static SymMapBase ParseGenericNode(
            Tokenizer t,
            NodeParseInfo info
            )
        {
            SymMapBase result = new SymMapBase();

            ExpectBraceOpen(t);

            // populate fields with default values
            foreach (var kvp in info.FieldDefs)
            {
                if (kvp.Value.E1 == null)
                {
                    continue;
                }
                result[kvp.Key] = kvp.Value.E1;
            }

            Tokenizer.Token token = t.NextToken();
            while (!token.IsBraceClose)
            {
                string fieldName = token.ToString();
                result[fieldName] = info.FieldParser(fieldName)(t);

                token = t.NextToken();
                Thread.Sleep(0);
            }

            return(result);
        }