nilang 0.4.1

A scripting language interpreter for Advent of Code
Documentation
========= FILE ./src/runtime/tests/fixtures/importing/importing.ast.actual ========
[
    Assign {
        dest: Spanned {
            item: Local(
                14,
            ),
            span: Span {
                start: 119,
                end: 126,
            },
        },
        src: Spanned {
            item: Import(
                Spanned {
                    item: Value(
                        String(
                            SegmentedString {
                                segments: [
                                    String(
                                        "./src/runtime/tests/test_programs/exporting.nl",
                                    ),
                                ],
                            },
                        ),
                    ),
                    span: Span {
                        start: 134,
                        end: 183,
                    },
                },
            ),
            span: Span {
                start: 127,
                end: 184,
            },
        },
    },
    Expr(
        Spanned {
            item: Print(
                Spanned {
                    item: Value(
                        Ident(
                            14,
                        ),
                    ),
                    span: Span {
                        start: 192,
                        end: 198,
                    },
                },
            ),
            span: Span {
                start: 186,
                end: 199,
            },
        },
    ),
    Assign {
        dest: Spanned {
            item: Global(
                15,
            ),
            span: Span {
                start: 201,
                end: 208,
            },
        },
        src: Spanned {
            item: Value(
                Bool(
                    true,
                ),
            ),
            span: Span {
                start: 209,
                end: 214,
            },
        },
    },
    Assign {
        dest: Spanned {
            item: Local(
                14,
            ),
            span: Span {
                start: 316,
                end: 323,
            },
        },
        src: Spanned {
            item: Import(
                Spanned {
                    item: Value(
                        String(
                            SegmentedString {
                                segments: [
                                    String(
                                        "./src/runtime/tests/test_programs/exporting.nl",
                                    ),
                                ],
                            },
                        ),
                    ),
                    span: Span {
                        start: 331,
                        end: 380,
                    },
                },
            ),
            span: Span {
                start: 324,
                end: 381,
            },
        },
    },
    Expr(
        Spanned {
            item: Print(
                Spanned {
                    item: Value(
                        Ident(
                            14,
                        ),
                    ),
                    span: Span {
                        start: 389,
                        end: 395,
                    },
                },
            ),
            span: Span {
                start: 383,
                end: 396,
            },
        },
    ),
]========= FILE ./src/runtime/tests/fixtures/importing/importing.ast.actual ========
[
    IfElse {
        cond: Spanned {
            item: Value(
                Global(
                    15,
                ),
            ),
            span: Span {
                start: 3,
                end: 10,
            },
        },
        stmts: [
            Return(
                Some(
                    Spanned {
                        item: Value(
                            String(
                                SegmentedString {
                                    segments: [
                                        String(
                                            "flag is set",
                                        ),
                                    ],
                                },
                            ),
                        ),
                        span: Span {
                            start: 20,
                            end: 34,
                        },
                    },
                ),
            ),
        ],
        else_stmts: [
            Return(
                Some(
                    Spanned {
                        item: Value(
                            Null,
                        ),
                        span: Span {
                            start: 53,
                            end: 58,
                        },
                    },
                ),
            ),
        ],
    },
]