rustpython-ruff_python_parser 0.15.8

Unofficial fork for RustPython
Documentation
---
source: crates/ruff_python_parser/tests/fixtures.rs
input_file: crates/ruff_python_parser/resources/valid/expressions/string.py
---
## AST

```
Module(
    ModModule {
        node_index: NodeIndex(None),
        range: 0..163,
        body: [
            Expr(
                StmtExpr {
                    node_index: NodeIndex(None),
                    range: 0..13,
                    value: StringLiteral(
                        ExprStringLiteral {
                            node_index: NodeIndex(None),
                            range: 0..13,
                            value: StringLiteralValue {
                                inner: Single(
                                    StringLiteral {
                                        range: 0..13,
                                        node_index: NodeIndex(None),
                                        value: "Hello World",
                                        flags: StringLiteralFlags {
                                            quote_style: Single,
                                            prefix: Empty,
                                            triple_quoted: false,
                                            unclosed: false,
                                        },
                                    },
                                ),
                            },
                        },
                    ),
                },
            ),
            Expr(
                StmtExpr {
                    node_index: NodeIndex(None),
                    range: 14..20,
                    value: StringLiteral(
                        ExprStringLiteral {
                            node_index: NodeIndex(None),
                            range: 14..20,
                            value: StringLiteralValue {
                                inner: Single(
                                    StringLiteral {
                                        range: 14..20,
                                        node_index: NodeIndex(None),
                                        value: "😎",
                                        flags: StringLiteralFlags {
                                            quote_style: Double,
                                            prefix: Empty,
                                            triple_quoted: false,
                                            unclosed: false,
                                        },
                                    },
                                ),
                            },
                        },
                    ),
                },
            ),
            Expr(
                StmtExpr {
                    node_index: NodeIndex(None),
                    range: 21..32,
                    value: StringLiteral(
                        ExprStringLiteral {
                            node_index: NodeIndex(None),
                            range: 21..32,
                            value: StringLiteralValue {
                                inner: Concatenated(
                                    ConcatenatedStringLiteral {
                                        strings: [
                                            StringLiteral {
                                                range: 21..26,
                                                node_index: NodeIndex(None),
                                                value: "Foo",
                                                flags: StringLiteralFlags {
                                                    quote_style: Single,
                                                    prefix: Empty,
                                                    triple_quoted: false,
                                                    unclosed: false,
                                                },
                                            },
                                            StringLiteral {
                                                range: 27..32,
                                                node_index: NodeIndex(None),
                                                value: "Bar",
                                                flags: StringLiteralFlags {
                                                    quote_style: Single,
                                                    prefix: Empty,
                                                    triple_quoted: false,
                                                    unclosed: false,
                                                },
                                            },
                                        ],
                                        value: "FooBar",
                                    },
                                ),
                            },
                        },
                    ),
                },
            ),
            Expr(
                StmtExpr {
                    node_index: NodeIndex(None),
                    range: 33..60,
                    value: StringLiteral(
                        ExprStringLiteral {
                            node_index: NodeIndex(None),
                            range: 39..58,
                            value: StringLiteralValue {
                                inner: Concatenated(
                                    ConcatenatedStringLiteral {
                                        strings: [
                                            StringLiteral {
                                                range: 39..42,
                                                node_index: NodeIndex(None),
                                                value: "A",
                                                flags: StringLiteralFlags {
                                                    quote_style: Single,
                                                    prefix: Empty,
                                                    triple_quoted: false,
                                                    unclosed: false,
                                                },
                                            },
                                            StringLiteral {
                                                range: 47..50,
                                                node_index: NodeIndex(None),
                                                value: "B",
                                                flags: StringLiteralFlags {
                                                    quote_style: Single,
                                                    prefix: Empty,
                                                    triple_quoted: false,
                                                    unclosed: false,
                                                },
                                            },
                                            StringLiteral {
                                                range: 55..58,
                                                node_index: NodeIndex(None),
                                                value: "C",
                                                flags: StringLiteralFlags {
                                                    quote_style: Single,
                                                    prefix: Empty,
                                                    triple_quoted: false,
                                                    unclosed: false,
                                                },
                                            },
                                        ],
                                        value: "ABC",
                                    },
                                ),
                            },
                        },
                    ),
                },
            ),
            Expr(
                StmtExpr {
                    node_index: NodeIndex(None),
                    range: 61..79,
                    value: StringLiteral(
                        ExprStringLiteral {
                            node_index: NodeIndex(None),
                            range: 61..79,
                            value: StringLiteralValue {
                                inner: Single(
                                    StringLiteral {
                                        range: 61..79,
                                        node_index: NodeIndex(None),
                                        value: "Olá, Mundo!",
                                        flags: StringLiteralFlags {
                                            quote_style: Single,
                                            prefix: Empty,
                                            triple_quoted: true,
                                            unclosed: false,
                                        },
                                    },
                                ),
                            },
                        },
                    ),
                },
            ),
            Expr(
                StmtExpr {
                    node_index: NodeIndex(None),
                    range: 80..91,
                    value: StringLiteral(
                        ExprStringLiteral {
                            node_index: NodeIndex(None),
                            range: 80..91,
                            value: StringLiteralValue {
                                inner: Single(
                                    StringLiteral {
                                        range: 80..91,
                                        node_index: NodeIndex(None),
                                        value: "ABCDE",
                                        flags: StringLiteralFlags {
                                            quote_style: Double,
                                            prefix: Empty,
                                            triple_quoted: true,
                                            unclosed: false,
                                        },
                                    },
                                ),
                            },
                        },
                    ),
                },
            ),
            Expr(
                StmtExpr {
                    node_index: NodeIndex(None),
                    range: 92..121,
                    value: StringLiteral(
                        ExprStringLiteral {
                            node_index: NodeIndex(None),
                            range: 98..119,
                            value: StringLiteralValue {
                                inner: Concatenated(
                                    ConcatenatedStringLiteral {
                                        strings: [
                                            StringLiteral {
                                                range: 98..106,
                                                node_index: NodeIndex(None),
                                                value: "aB",
                                                flags: StringLiteralFlags {
                                                    quote_style: Single,
                                                    prefix: Empty,
                                                    triple_quoted: true,
                                                    unclosed: false,
                                                },
                                            },
                                            StringLiteral {
                                                range: 111..119,
                                                node_index: NodeIndex(None),
                                                value: "cD",
                                                flags: StringLiteralFlags {
                                                    quote_style: Single,
                                                    prefix: Empty,
                                                    triple_quoted: true,
                                                    unclosed: false,
                                                },
                                            },
                                        ],
                                        value: "aBcD",
                                    },
                                ),
                            },
                        },
                    ),
                },
            ),
            Expr(
                StmtExpr {
                    node_index: NodeIndex(None),
                    range: 122..136,
                    value: BytesLiteral(
                        ExprBytesLiteral {
                            node_index: NodeIndex(None),
                            range: 122..136,
                            value: BytesLiteralValue {
                                inner: Single(
                                    BytesLiteral {
                                        range: 122..136,
                                        node_index: NodeIndex(None),
                                        value: [
                                            104,
                                            101,
                                            108,
                                            108,
                                            111,
                                            32,
                                            119,
                                            111,
                                            114,
                                            108,
                                            100,
                                        ],
                                        flags: BytesLiteralFlags {
                                            quote_style: Single,
                                            prefix: Regular,
                                            triple_quoted: false,
                                            unclosed: false,
                                        },
                                    },
                                ),
                            },
                        },
                    ),
                },
            ),
            Expr(
                StmtExpr {
                    node_index: NodeIndex(None),
                    range: 137..161,
                    value: BytesLiteral(
                        ExprBytesLiteral {
                            node_index: NodeIndex(None),
                            range: 137..161,
                            value: BytesLiteralValue {
                                inner: Concatenated(
                                    [
                                        BytesLiteral {
                                            range: 137..145,
                                            node_index: NodeIndex(None),
                                            value: [
                                                98,
                                                121,
                                                116,
                                                101,
                                                115,
                                            ],
                                            flags: BytesLiteralFlags {
                                                quote_style: Single,
                                                prefix: Regular,
                                                triple_quoted: false,
                                                unclosed: false,
                                            },
                                        },
                                        BytesLiteral {
                                            range: 146..161,
                                            node_index: NodeIndex(None),
                                            value: [
                                                99,
                                                111,
                                                110,
                                                99,
                                                97,
                                                116,
                                                101,
                                                110,
                                                97,
                                                116,
                                                101,
                                                100,
                                            ],
                                            flags: BytesLiteralFlags {
                                                quote_style: Single,
                                                prefix: Regular,
                                                triple_quoted: false,
                                                unclosed: false,
                                            },
                                        },
                                    ],
                                ),
                            },
                        },
                    ),
                },
            ),
        ],
    },
)
```