ast-description-lang 0.4.0

A language to describe your language's AST
Documentation
---
source: src/ast/raw.rs
assertion_line: 456
expression: "Ast::parse(&text)"
input_file: examples/json/example.ast

---
Ok(
    Ast(
        NamedSet(
            {
                Wrapper(
                    Entry {
                        ident: Ident(
                            "file",
                        ),
                        node: NodeDef {
                            kind: Group {
                                nodes: [
                                    NodeDef {
                                        kind: Simple(
                                            Ident(
                                                "json",
                                            ),
                                        ),
                                        tag: None,
                                    },
                                    NodeDef {
                                        kind: End,
                                        tag: None,
                                    },
                                ],
                                inline: false,
                            },
                            tag: None,
                        },
                    },
                    PhantomData,
                ),
                Wrapper(
                    Entry {
                        ident: Ident(
                            "json",
                        ),
                        node: NodeDef {
                            kind: Choice {
                                first: NodeDef {
                                    kind: Simple(
                                        Ident(
                                            "object",
                                        ),
                                    ),
                                    tag: None,
                                },
                                second: NodeDef {
                                    kind: Choice {
                                        first: NodeDef {
                                            kind: Simple(
                                                Ident(
                                                    "array",
                                                ),
                                            ),
                                            tag: None,
                                        },
                                        second: NodeDef {
                                            kind: Choice {
                                                first: NodeDef {
                                                    kind: Simple(
                                                        Ident(
                                                            "num_lit",
                                                        ),
                                                    ),
                                                    tag: None,
                                                },
                                                second: NodeDef {
                                                    kind: Choice {
                                                        first: NodeDef {
                                                            kind: Simple(
                                                                Ident(
                                                                    "str_lit",
                                                                ),
                                                            ),
                                                            tag: None,
                                                        },
                                                        second: NodeDef {
                                                            kind: Simple(
                                                                Ident(
                                                                    "bool",
                                                                ),
                                                            ),
                                                            tag: None,
                                                        },
                                                        inline: false,
                                                    },
                                                    tag: None,
                                                },
                                                inline: false,
                                            },
                                            tag: None,
                                        },
                                        inline: false,
                                    },
                                    tag: None,
                                },
                                inline: false,
                            },
                            tag: None,
                        },
                    },
                    PhantomData,
                ),
                Wrapper(
                    Entry {
                        ident: Ident(
                            "object",
                        ),
                        node: NodeDef {
                            kind: Delimiter(
                                NodeDef {
                                    kind: Modified(
                                        NodeDef {
                                            kind: Simple(
                                                Ident(
                                                    "member",
                                                ),
                                            ),
                                            tag: None,
                                        },
                                        Csv,
                                    ),
                                    tag: None,
                                },
                                Ident(
                                    "brace",
                                ),
                            ),
                            tag: None,
                        },
                    },
                    PhantomData,
                ),
                Wrapper(
                    Entry {
                        ident: Ident(
                            "member",
                        ),
                        node: NodeDef {
                            kind: Group {
                                nodes: [
                                    NodeDef {
                                        kind: Simple(
                                            Ident(
                                                "str_lit",
                                            ),
                                        ),
                                        tag: None,
                                    },
                                    NodeDef {
                                        kind: Simple(
                                            Ident(
                                                "colon",
                                            ),
                                        ),
                                        tag: None,
                                    },
                                    NodeDef {
                                        kind: Simple(
                                            Ident(
                                                "json",
                                            ),
                                        ),
                                        tag: None,
                                    },
                                ],
                                inline: false,
                            },
                            tag: None,
                        },
                    },
                    PhantomData,
                ),
                Wrapper(
                    Entry {
                        ident: Ident(
                            "array",
                        ),
                        node: NodeDef {
                            kind: Delimiter(
                                NodeDef {
                                    kind: Modified(
                                        NodeDef {
                                            kind: Simple(
                                                Ident(
                                                    "json",
                                                ),
                                            ),
                                            tag: None,
                                        },
                                        Csv,
                                    ),
                                    tag: None,
                                },
                                Ident(
                                    "bracket",
                                ),
                            ),
                            tag: None,
                        },
                    },
                    PhantomData,
                ),
                Wrapper(
                    Entry {
                        ident: Ident(
                            "bool",
                        ),
                        node: NodeDef {
                            kind: Choice {
                                first: NodeDef {
                                    kind: Simple(
                                        Ident(
                                            "kw_true",
                                        ),
                                    ),
                                    tag: None,
                                },
                                second: NodeDef {
                                    kind: Simple(
                                        Ident(
                                            "kw_false",
                                        ),
                                    ),
                                    tag: None,
                                },
                                inline: false,
                            },
                            tag: None,
                        },
                    },
                    PhantomData,
                ),
            },
        ),
    ),
)