Beispiel #1
0
 public Parser <string> Name()
 {
     return(_p.Surround(
                _p.String("["),
                _p.String("]"),
                () => _p.Many1(_p.NoneOf("]")).Map(cs => new string(cs.ToArray()))) |
            (() => _p.Fail <string>("label")));
 }
Beispiel #2
0
 private static Parser <Json> JsonObject(ParsersBase p)
 {
     return(p.Surround(
                p.Token(p.String("{")),
                p.Token(p.String("}")),
                () => JsonKeyValue(p).SepBy(p.Token(p.String(",")))
                .Map(kvs => new JObject(kvs.ToDictionary(kv => kv.Item1, kv => kv.Item2)) as Json))
            .Scope("object"));
 }
Beispiel #3
0
 private static Parser <Json> JsonArray(ParsersBase p)
 {
     return(p.Surround(
                p.Token(p.String("[")),
                p.Token(p.String("]")),
                () => JsonValue(p).SepBy(p.Token(p.String(","))))
            .Map(vs => new JArray(vs) as Json)
            .Scope("array"));
 }