TransUnit(
    [
        DefModule {
            name: Name {
                data: "DefinitionsAndSpecifiers",
                node_id: Span {
                    start: [ local path prefix ]/syntax.fpp:2:8,
                    end: [ local path prefix ]/syntax.fpp:2:32,
                },
            },
            members: [
                DefAbsType {
                    name: Name {
                        data: "T",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:5:8,
                            end: [ local path prefix ]/syntax.fpp:5:9,
                        },
                    },
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:5:3,
                        end: [ local path prefix ]/syntax.fpp:5:9,
                    },
                    pre_annotation: [
                        "Abstract type definition",
                    ],
                    post_annotation: [
                        "Abstract type definition",
                    ],
                },
                DefAliasType {
                    name: Name {
                        data: "TA",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:9:8,
                            end: [ local path prefix ]/syntax.fpp:9:10,
                        },
                    },
                    type_name: TypeName {
                        kind: QualIdent(
                            Ident {
                                data: "T",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:9:13,
                                    end: [ local path prefix ]/syntax.fpp:9:14,
                                },
                            },
                        ),
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:9:13,
                            end: [ local path prefix ]/syntax.fpp:9:14,
                        },
                    },
                    is_dictionary_def: false,
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:9:3,
                        end: [ local path prefix ]/syntax.fpp:9:14,
                    },
                    pre_annotation: [
                        "Type alias definition",
                    ],
                    post_annotation: [
                        "Type alias definition",
                    ],
                },
                DefArray {
                    name: Name {
                        data: "A",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:13:9,
                            end: [ local path prefix ]/syntax.fpp:13:10,
                        },
                    },
                    size: Expr {
                        kind: LiteralInt(
                            "10",
                        ),
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:13:14,
                            end: [ local path prefix ]/syntax.fpp:13:16,
                        },
                    },
                    elt_type: TypeName {
                        kind: Integer(
                            U32,
                        ),
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:13:18,
                            end: [ local path prefix ]/syntax.fpp:13:21,
                        },
                    },
                    default: Some(
                        Expr {
                            kind: LiteralInt(
                                "0",
                            ),
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:13:30,
                                end: [ local path prefix ]/syntax.fpp:13:31,
                            },
                        },
                    ),
                    format: Some(
                        LitString {
                            data: "{} counts",
                            inner_span: Span {
                                start: [ local path prefix ]/syntax.fpp:13:40,
                                end: [ local path prefix ]/syntax.fpp:13:49,
                            },
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:13:39,
                                end: [ local path prefix ]/syntax.fpp:13:50,
                            },
                        },
                    ),
                    is_dictionary_def: false,
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:13:3,
                        end: [ local path prefix ]/syntax.fpp:13:50,
                    },
                    pre_annotation: [
                        "Array definition",
                    ],
                    post_annotation: [
                        "Array definition",
                    ],
                },
                DefStateMachine {
                    name: Name {
                        data: "SO",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:17:17,
                            end: [ local path prefix ]/syntax.fpp:17:19,
                        },
                    },
                    members: None,
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:17:3,
                        end: [ local path prefix ]/syntax.fpp:17:19,
                    },
                    pre_annotation: [
                        "State machine outside a component",
                    ],
                    post_annotation: [
                        "State machine outside a component",
                    ],
                },
                DefInterface {
                    name: Name {
                        data: "I",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:21:13,
                            end: [ local path prefix ]/syntax.fpp:21:14,
                        },
                    },
                    members: [
                        SpecGeneralPortInstance {
                            kind: Input(
                                Sync,
                            ),
                            name: Name {
                                data: "pI",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:23:21,
                                    end: [ local path prefix ]/syntax.fpp:23:23,
                                },
                            },
                            size: Some(
                                Expr {
                                    kind: LiteralInt(
                                        "10",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:23:26,
                                        end: [ local path prefix ]/syntax.fpp:23:28,
                                    },
                                },
                            ),
                            port: Some(
                                Ident {
                                    data: "P",
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:23:30,
                                        end: [ local path prefix ]/syntax.fpp:23:31,
                                    },
                                },
                            ),
                            priority: Some(
                                Expr {
                                    kind: LiteralInt(
                                        "10",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:23:41,
                                        end: [ local path prefix ]/syntax.fpp:23:43,
                                    },
                                },
                            ),
                            queue_full: Some(
                                Assert,
                            ),
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:23:5,
                                end: [ local path prefix ]/syntax.fpp:23:50,
                            },
                            pre_annotation: [
                                "General port instance specifier",
                            ],
                            post_annotation: [
                                "General port instance specifier",
                            ],
                        },
                        SpecSpecialPortInstance {
                            input_kind: None,
                            kind: CommandRecv,
                            name: Name {
                                data: "cmdIn",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:27:23,
                                    end: [ local path prefix ]/syntax.fpp:27:28,
                                },
                            },
                            priority: None,
                            queue_full: None,
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:27:5,
                                end: [ local path prefix ]/syntax.fpp:27:28,
                            },
                            pre_annotation: [
                                "Special port instance specifier",
                            ],
                            post_annotation: [
                                "Special port instance specifier",
                            ],
                        },
                        SpecInterfaceImport {
                            interface: Ident {
                                data: "J",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:31:12,
                                    end: [ local path prefix ]/syntax.fpp:31:13,
                                },
                            },
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:31:5,
                                end: [ local path prefix ]/syntax.fpp:31:13,
                            },
                            pre_annotation: [
                                "Interface import specifier",
                            ],
                            post_annotation: [
                                "Interface import specifier",
                            ],
                        },
                    ],
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:21:3,
                        end: [ local path prefix ]/syntax.fpp:33:4,
                    },
                    pre_annotation: [
                        "Interface definition",
                    ],
                    post_annotation: [
                        "Interface definition",
                    ],
                },
                DefComponent {
                    kind: Active,
                    name: Name {
                        data: "C",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:37:20,
                            end: [ local path prefix ]/syntax.fpp:37:21,
                        },
                    },
                    members: [
                        DefAbsType {
                            name: Name {
                                data: "T",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:39:10,
                                    end: [ local path prefix ]/syntax.fpp:39:11,
                                },
                            },
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:39:5,
                                end: [ local path prefix ]/syntax.fpp:39:11,
                            },
                        },
                        DefArray {
                            name: Name {
                                data: "A",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:40:11,
                                    end: [ local path prefix ]/syntax.fpp:40:12,
                                },
                            },
                            size: Expr {
                                kind: LiteralInt(
                                    "3",
                                ),
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:40:16,
                                    end: [ local path prefix ]/syntax.fpp:40:17,
                                },
                            },
                            elt_type: TypeName {
                                kind: Integer(
                                    U32,
                                ),
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:40:19,
                                    end: [ local path prefix ]/syntax.fpp:40:22,
                                },
                            },
                            default: None,
                            format: None,
                            is_dictionary_def: false,
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:40:5,
                                end: [ local path prefix ]/syntax.fpp:40:22,
                            },
                        },
                        DefStruct {
                            name: Name {
                                data: "S",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:41:12,
                                    end: [ local path prefix ]/syntax.fpp:41:13,
                                },
                            },
                            members: [
                                StructTypeMember {
                                    name: Name {
                                        data: "x",
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:41:16,
                                            end: [ local path prefix ]/syntax.fpp:41:17,
                                        },
                                    },
                                    size: Some(
                                        Expr {
                                            kind: LiteralInt(
                                                "3",
                                            ),
                                            node_id: Span {
                                                start: [ local path prefix ]/syntax.fpp:41:20,
                                                end: [ local path prefix ]/syntax.fpp:41:21,
                                            },
                                        },
                                    ),
                                    type_name: TypeName {
                                        kind: Integer(
                                            U32,
                                        ),
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:41:23,
                                            end: [ local path prefix ]/syntax.fpp:41:26,
                                        },
                                    },
                                    format: None,
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:41:16,
                                        end: [ local path prefix ]/syntax.fpp:41:26,
                                    },
                                },
                                StructTypeMember {
                                    name: Name {
                                        data: "y",
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:41:28,
                                            end: [ local path prefix ]/syntax.fpp:41:29,
                                        },
                                    },
                                    size: None,
                                    type_name: TypeName {
                                        kind: Floating(
                                            F32,
                                        ),
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:41:31,
                                            end: [ local path prefix ]/syntax.fpp:41:34,
                                        },
                                    },
                                    format: None,
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:41:28,
                                        end: [ local path prefix ]/syntax.fpp:41:34,
                                    },
                                },
                                StructTypeMember {
                                    name: Name {
                                        data: "z",
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:41:36,
                                            end: [ local path prefix ]/syntax.fpp:41:37,
                                        },
                                    },
                                    size: None,
                                    type_name: TypeName {
                                        kind: String(
                                            None,
                                        ),
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:41:39,
                                            end: [ local path prefix ]/syntax.fpp:41:45,
                                        },
                                    },
                                    format: None,
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:41:36,
                                        end: [ local path prefix ]/syntax.fpp:41:45,
                                    },
                                },
                            ],
                            default: None,
                            is_dictionary_def: false,
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:41:5,
                                end: [ local path prefix ]/syntax.fpp:41:47,
                            },
                        },
                        DefEnum {
                            name: Name {
                                data: "E",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:42:10,
                                    end: [ local path prefix ]/syntax.fpp:42:11,
                                },
                            },
                            type_name: None,
                            constants: [
                                DefEnumConstant {
                                    name: Name {
                                        data: "X",
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:42:14,
                                            end: [ local path prefix ]/syntax.fpp:42:15,
                                        },
                                    },
                                    value: None,
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:42:14,
                                        end: [ local path prefix ]/syntax.fpp:42:15,
                                    },
                                },
                                DefEnumConstant {
                                    name: Name {
                                        data: "Y",
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:42:17,
                                            end: [ local path prefix ]/syntax.fpp:42:18,
                                        },
                                    },
                                    value: None,
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:42:17,
                                        end: [ local path prefix ]/syntax.fpp:42:18,
                                    },
                                },
                                DefEnumConstant {
                                    name: Name {
                                        data: "Z",
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:42:20,
                                            end: [ local path prefix ]/syntax.fpp:42:21,
                                        },
                                    },
                                    value: None,
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:42:20,
                                        end: [ local path prefix ]/syntax.fpp:42:21,
                                    },
                                },
                            ],
                            default: Some(
                                Expr {
                                    kind: Ident(
                                        "X",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:42:32,
                                        end: [ local path prefix ]/syntax.fpp:42:33,
                                    },
                                },
                            ),
                            is_dictionary_def: false,
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:42:5,
                                end: [ local path prefix ]/syntax.fpp:42:33,
                            },
                        },
                        SpecContainer {
                            name: Name {
                                data: "C",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:45:23,
                                    end: [ local path prefix ]/syntax.fpp:45:24,
                                },
                            },
                            id: Some(
                                Expr {
                                    kind: LiteralInt(
                                        "0x00",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:45:28,
                                        end: [ local path prefix ]/syntax.fpp:45:32,
                                    },
                                },
                            ),
                            default_priority: Some(
                                Expr {
                                    kind: LiteralInt(
                                        "10",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:45:50,
                                        end: [ local path prefix ]/syntax.fpp:45:52,
                                    },
                                },
                            ),
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:45:5,
                                end: [ local path prefix ]/syntax.fpp:45:52,
                            },
                            pre_annotation: [
                                "Container specifier",
                            ],
                            post_annotation: [
                                "Container specifier",
                            ],
                        },
                        SpecRecord {
                            name: Name {
                                data: "R",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:49:20,
                                    end: [ local path prefix ]/syntax.fpp:49:21,
                                },
                            },
                            record_type: TypeName {
                                kind: Integer(
                                    U32,
                                ),
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:49:23,
                                    end: [ local path prefix ]/syntax.fpp:49:26,
                                },
                            },
                            is_array: true,
                            id: Some(
                                Expr {
                                    kind: LiteralInt(
                                        "0x00",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:49:36,
                                        end: [ local path prefix ]/syntax.fpp:49:40,
                                    },
                                },
                            ),
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:49:5,
                                end: [ local path prefix ]/syntax.fpp:49:40,
                            },
                            pre_annotation: [
                                "Record specifier",
                            ],
                            post_annotation: [
                                "Record specifier",
                            ],
                        },
                        SpecCommand {
                            kind: Async,
                            name: Name {
                                data: "C",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:53:19,
                                    end: [ local path prefix ]/syntax.fpp:53:20,
                                },
                            },
                            params: [
                                FormalParam {
                                    kind: Value,
                                    name: Name {
                                        data: "a",
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:53:21,
                                            end: [ local path prefix ]/syntax.fpp:53:22,
                                        },
                                    },
                                    type_name: TypeName {
                                        kind: Integer(
                                            U32,
                                        ),
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:53:24,
                                            end: [ local path prefix ]/syntax.fpp:53:27,
                                        },
                                    },
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:53:21,
                                        end: [ local path prefix ]/syntax.fpp:53:27,
                                    },
                                },
                                FormalParam {
                                    kind: Value,
                                    name: Name {
                                        data: "b",
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:53:29,
                                            end: [ local path prefix ]/syntax.fpp:53:30,
                                        },
                                    },
                                    type_name: TypeName {
                                        kind: Floating(
                                            F32,
                                        ),
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:53:32,
                                            end: [ local path prefix ]/syntax.fpp:53:35,
                                        },
                                    },
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:53:29,
                                        end: [ local path prefix ]/syntax.fpp:53:35,
                                    },
                                },
                            ],
                            opcode: Some(
                                Expr {
                                    kind: LiteralInt(
                                        "0x00",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:53:44,
                                        end: [ local path prefix ]/syntax.fpp:53:48,
                                    },
                                },
                            ),
                            priority: Some(
                                Expr {
                                    kind: LiteralInt(
                                        "10",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:53:58,
                                        end: [ local path prefix ]/syntax.fpp:53:60,
                                    },
                                },
                            ),
                            queue_full: Some(
                                Assert,
                            ),
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:53:5,
                                end: [ local path prefix ]/syntax.fpp:53:67,
                            },
                            pre_annotation: [
                                "Command specifier",
                            ],
                            post_annotation: [
                                "Command specifier",
                            ],
                        },
                        SpecParam {
                            name: Name {
                                data: "P",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:57:20,
                                    end: [ local path prefix ]/syntax.fpp:57:21,
                                },
                            },
                            type_name: TypeName {
                                kind: Integer(
                                    U32,
                                ),
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:57:23,
                                    end: [ local path prefix ]/syntax.fpp:57:26,
                                },
                            },
                            default: Some(
                                Expr {
                                    kind: LiteralInt(
                                        "0",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:57:35,
                                        end: [ local path prefix ]/syntax.fpp:57:36,
                                    },
                                },
                            ),
                            id: Some(
                                Expr {
                                    kind: LiteralInt(
                                        "0x00",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:57:40,
                                        end: [ local path prefix ]/syntax.fpp:57:44,
                                    },
                                },
                            ),
                            set_opcode: Some(
                                Expr {
                                    kind: LiteralInt(
                                        "0x01",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:57:56,
                                        end: [ local path prefix ]/syntax.fpp:57:60,
                                    },
                                },
                            ),
                            save_opcode: Some(
                                Expr {
                                    kind: LiteralInt(
                                        "0x02",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:57:73,
                                        end: [ local path prefix ]/syntax.fpp:57:77,
                                    },
                                },
                            ),
                            is_external: true,
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:57:5,
                                end: [ local path prefix ]/syntax.fpp:57:77,
                            },
                            pre_annotation: [
                                "Parameter specifier",
                            ],
                            post_annotation: [
                                "Parameter specifier",
                            ],
                        },
                        SpecGeneralPortInstance {
                            kind: Input(
                                Sync,
                            ),
                            name: Name {
                                data: "p1",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:61:21,
                                    end: [ local path prefix ]/syntax.fpp:61:23,
                                },
                            },
                            size: Some(
                                Expr {
                                    kind: LiteralInt(
                                        "10",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:61:26,
                                        end: [ local path prefix ]/syntax.fpp:61:28,
                                    },
                                },
                            ),
                            port: Some(
                                Ident {
                                    data: "P",
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:61:30,
                                        end: [ local path prefix ]/syntax.fpp:61:31,
                                    },
                                },
                            ),
                            priority: Some(
                                Expr {
                                    kind: LiteralInt(
                                        "10",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:61:41,
                                        end: [ local path prefix ]/syntax.fpp:61:43,
                                    },
                                },
                            ),
                            queue_full: Some(
                                Assert,
                            ),
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:61:5,
                                end: [ local path prefix ]/syntax.fpp:61:50,
                            },
                            pre_annotation: [
                                "General port instance specifier",
                            ],
                            post_annotation: [
                                "General port instance specifier",
                            ],
                        },
                        SpecSpecialPortInstance {
                            input_kind: None,
                            kind: CommandRecv,
                            name: Name {
                                data: "cmdIn",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:65:23,
                                    end: [ local path prefix ]/syntax.fpp:65:28,
                                },
                            },
                            priority: None,
                            queue_full: None,
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:65:5,
                                end: [ local path prefix ]/syntax.fpp:65:28,
                            },
                            pre_annotation: [
                                "Special port instance specifier",
                            ],
                            post_annotation: [
                                "Special port instance specifier",
                            ],
                        },
                        SpecSpecialPortInstance {
                            input_kind: Some(
                                Async,
                            ),
                            kind: ProductRecv,
                            name: Name {
                                data: "productRecvIn",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:69:29,
                                    end: [ local path prefix ]/syntax.fpp:69:42,
                                },
                            },
                            priority: Some(
                                Expr {
                                    kind: LiteralInt(
                                        "10",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:69:52,
                                        end: [ local path prefix ]/syntax.fpp:69:54,
                                    },
                                },
                            ),
                            queue_full: Some(
                                Assert,
                            ),
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:69:5,
                                end: [ local path prefix ]/syntax.fpp:69:61,
                            },
                            pre_annotation: [
                                "Async product receive port",
                            ],
                            post_annotation: [
                                "Async product receive port",
                            ],
                        },
                        DefStateMachine {
                            name: Name {
                                data: "S",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:73:19,
                                    end: [ local path prefix ]/syntax.fpp:73:20,
                                },
                            },
                            members: None,
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:73:5,
                                end: [ local path prefix ]/syntax.fpp:73:20,
                            },
                            pre_annotation: [
                                "Internal Component State machine definition",
                            ],
                            post_annotation: [
                                "State machine definition",
                            ],
                        },
                        SpecStateMachineInstance {
                            name: Name {
                                data: "s1",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:77:28,
                                    end: [ local path prefix ]/syntax.fpp:77:30,
                                },
                            },
                            state_machine: Ident {
                                data: "S",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:77:32,
                                    end: [ local path prefix ]/syntax.fpp:77:33,
                                },
                            },
                            priority: Some(
                                Expr {
                                    kind: LiteralInt(
                                        "10",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:77:43,
                                        end: [ local path prefix ]/syntax.fpp:77:45,
                                    },
                                },
                            ),
                            queue_full: Some(
                                Drop,
                            ),
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:77:5,
                                end: [ local path prefix ]/syntax.fpp:77:50,
                            },
                            pre_annotation: [
                                "State machine instance 1",
                            ],
                            post_annotation: [
                                "State machine instance 1",
                            ],
                        },
                        SpecStateMachineInstance {
                            name: Name {
                                data: "s2",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:81:28,
                                    end: [ local path prefix ]/syntax.fpp:81:30,
                                },
                            },
                            state_machine: Ident {
                                data: "S",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:81:32,
                                    end: [ local path prefix ]/syntax.fpp:81:33,
                                },
                            },
                            priority: None,
                            queue_full: None,
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:81:5,
                                end: [ local path prefix ]/syntax.fpp:81:33,
                            },
                            pre_annotation: [
                                "State machine instance 2",
                            ],
                            post_annotation: [
                                "State machine instance 2",
                            ],
                        },
                        SpecStateMachineInstance {
                            name: Name {
                                data: "so",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:85:28,
                                    end: [ local path prefix ]/syntax.fpp:85:30,
                                },
                            },
                            state_machine: Ident {
                                data: "SO",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:85:32,
                                    end: [ local path prefix ]/syntax.fpp:85:34,
                                },
                            },
                            priority: None,
                            queue_full: None,
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:85:5,
                                end: [ local path prefix ]/syntax.fpp:85:34,
                            },
                            pre_annotation: [
                                "State machine for outside definition",
                            ],
                            post_annotation: [
                                "State machine for outside definition",
                            ],
                        },
                        SpecGeneralPortInstance {
                            kind: Output,
                            name: Name {
                                data: "p2",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:88:17,
                                    end: [ local path prefix ]/syntax.fpp:88:19,
                                },
                            },
                            size: Some(
                                Expr {
                                    kind: LiteralInt(
                                        "10",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:88:22,
                                        end: [ local path prefix ]/syntax.fpp:88:24,
                                    },
                                },
                            ),
                            port: Some(
                                Ident {
                                    data: "P",
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:88:26,
                                        end: [ local path prefix ]/syntax.fpp:88:27,
                                    },
                                },
                            ),
                            priority: None,
                            queue_full: None,
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:88:5,
                                end: [ local path prefix ]/syntax.fpp:88:27,
                            },
                        },
                        SpecPortMatching {
                            port1: Ident {
                                data: "p1",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:90:11,
                                    end: [ local path prefix ]/syntax.fpp:90:13,
                                },
                            },
                            port2: Ident {
                                data: "p2",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:90:19,
                                    end: [ local path prefix ]/syntax.fpp:90:21,
                                },
                            },
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:90:5,
                                end: [ local path prefix ]/syntax.fpp:90:21,
                            },
                            pre_annotation: [
                                "Port matching specifier",
                            ],
                            post_annotation: [
                                "Port matching specifier",
                            ],
                        },
                        SpecTlmChannel {
                            name: Name {
                                data: "T",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:94:15,
                                    end: [ local path prefix ]/syntax.fpp:94:16,
                                },
                            },
                            type_name: TypeName {
                                kind: Integer(
                                    U32,
                                ),
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:94:18,
                                    end: [ local path prefix ]/syntax.fpp:94:21,
                                },
                            },
                            id: Some(
                                Expr {
                                    kind: LiteralInt(
                                        "0x00",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:94:25,
                                        end: [ local path prefix ]/syntax.fpp:94:29,
                                    },
                                },
                            ),
                            update: Some(
                                OnChange,
                            ),
                            format: Some(
                                LitString {
                                    data: "{} s",
                                    inner_span: Span {
                                        start: [ local path prefix ]/syntax.fpp:94:55,
                                        end: [ local path prefix ]/syntax.fpp:94:59,
                                    },
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:94:54,
                                        end: [ local path prefix ]/syntax.fpp:94:60,
                                    },
                                },
                            ),
                            low: [
                                TlmChannelLimit {
                                    kind: Red,
                                    value: Expr {
                                        kind: LiteralInt(
                                            "0",
                                        ),
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:95:17,
                                            end: [ local path prefix ]/syntax.fpp:95:18,
                                        },
                                    },
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:95:13,
                                        end: [ local path prefix ]/syntax.fpp:95:18,
                                    },
                                },
                                TlmChannelLimit {
                                    kind: Orange,
                                    value: Expr {
                                        kind: LiteralInt(
                                            "1",
                                        ),
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:95:27,
                                            end: [ local path prefix ]/syntax.fpp:95:28,
                                        },
                                    },
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:95:20,
                                        end: [ local path prefix ]/syntax.fpp:95:28,
                                    },
                                },
                                TlmChannelLimit {
                                    kind: Yellow,
                                    value: Expr {
                                        kind: LiteralInt(
                                            "2",
                                        ),
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:95:37,
                                            end: [ local path prefix ]/syntax.fpp:95:38,
                                        },
                                    },
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:95:30,
                                        end: [ local path prefix ]/syntax.fpp:95:38,
                                    },
                                },
                            ],
                            high: [
                                TlmChannelLimit {
                                    kind: Yellow,
                                    value: Expr {
                                        kind: LiteralInt(
                                            "10",
                                        ),
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:96:21,
                                            end: [ local path prefix ]/syntax.fpp:96:23,
                                        },
                                    },
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:96:14,
                                        end: [ local path prefix ]/syntax.fpp:96:23,
                                    },
                                },
                                TlmChannelLimit {
                                    kind: Orange,
                                    value: Expr {
                                        kind: LiteralInt(
                                            "11",
                                        ),
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:96:32,
                                            end: [ local path prefix ]/syntax.fpp:96:34,
                                        },
                                    },
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:96:25,
                                        end: [ local path prefix ]/syntax.fpp:96:34,
                                    },
                                },
                                TlmChannelLimit {
                                    kind: Red,
                                    value: Expr {
                                        kind: LiteralInt(
                                            "12",
                                        ),
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:96:40,
                                            end: [ local path prefix ]/syntax.fpp:96:42,
                                        },
                                    },
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:96:36,
                                        end: [ local path prefix ]/syntax.fpp:96:42,
                                    },
                                },
                            ],
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:94:5,
                                end: [ local path prefix ]/syntax.fpp:96:44,
                            },
                            pre_annotation: [
                                "Telemetry channel specifier",
                            ],
                            post_annotation: [
                                "Telemetry channel specifier",
                            ],
                        },
                        SpecEvent {
                            name: Name {
                                data: "E",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:100:11,
                                    end: [ local path prefix ]/syntax.fpp:100:12,
                                },
                            },
                            params: [
                                FormalParam {
                                    kind: Value,
                                    name: Name {
                                        data: "a",
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:100:13,
                                            end: [ local path prefix ]/syntax.fpp:100:14,
                                        },
                                    },
                                    type_name: TypeName {
                                        kind: Integer(
                                            U32,
                                        ),
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:100:16,
                                            end: [ local path prefix ]/syntax.fpp:100:19,
                                        },
                                    },
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:100:13,
                                        end: [ local path prefix ]/syntax.fpp:100:19,
                                    },
                                },
                                FormalParam {
                                    kind: Value,
                                    name: Name {
                                        data: "b",
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:100:21,
                                            end: [ local path prefix ]/syntax.fpp:100:22,
                                        },
                                    },
                                    type_name: TypeName {
                                        kind: Floating(
                                            F32,
                                        ),
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:100:24,
                                            end: [ local path prefix ]/syntax.fpp:100:27,
                                        },
                                    },
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:100:21,
                                        end: [ local path prefix ]/syntax.fpp:100:27,
                                    },
                                },
                            ],
                            severity: ActivityLow,
                            id: Some(
                                Expr {
                                    kind: LiteralInt(
                                        "0x00",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:100:54,
                                        end: [ local path prefix ]/syntax.fpp:100:58,
                                    },
                                },
                            ),
                            format: LitString {
                                data: "{} counts",
                                inner_span: Span {
                                    start: [ local path prefix ]/syntax.fpp:100:67,
                                    end: [ local path prefix ]/syntax.fpp:100:76,
                                },
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:100:66,
                                    end: [ local path prefix ]/syntax.fpp:100:77,
                                },
                            },
                            throttle: Some(
                                EventThrottle {
                                    count: Expr {
                                        kind: LiteralInt(
                                            "10",
                                        ),
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:100:87,
                                            end: [ local path prefix ]/syntax.fpp:100:89,
                                        },
                                    },
                                    every: None,
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:100:78,
                                        end: [ local path prefix ]/syntax.fpp:100:89,
                                    },
                                },
                            ),
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:100:5,
                                end: [ local path prefix ]/syntax.fpp:100:89,
                            },
                            pre_annotation: [
                                "Event specifier",
                            ],
                            post_annotation: [
                                "Event specifier",
                            ],
                        },
                        SpecEvent {
                            name: Name {
                                data: "ET",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:104:11,
                                    end: [ local path prefix ]/syntax.fpp:104:13,
                                },
                            },
                            params: [
                                FormalParam {
                                    kind: Value,
                                    name: Name {
                                        data: "a",
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:104:14,
                                            end: [ local path prefix ]/syntax.fpp:104:15,
                                        },
                                    },
                                    type_name: TypeName {
                                        kind: Integer(
                                            U32,
                                        ),
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:104:17,
                                            end: [ local path prefix ]/syntax.fpp:104:20,
                                        },
                                    },
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:104:14,
                                        end: [ local path prefix ]/syntax.fpp:104:20,
                                    },
                                },
                                FormalParam {
                                    kind: Value,
                                    name: Name {
                                        data: "b",
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:104:22,
                                            end: [ local path prefix ]/syntax.fpp:104:23,
                                        },
                                    },
                                    type_name: TypeName {
                                        kind: Floating(
                                            F32,
                                        ),
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:104:25,
                                            end: [ local path prefix ]/syntax.fpp:104:28,
                                        },
                                    },
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:104:22,
                                        end: [ local path prefix ]/syntax.fpp:104:28,
                                    },
                                },
                            ],
                            severity: ActivityHigh,
                            id: Some(
                                Expr {
                                    kind: LiteralInt(
                                        "0x00",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:104:56,
                                        end: [ local path prefix ]/syntax.fpp:104:60,
                                    },
                                },
                            ),
                            format: LitString {
                                data: "{} counts",
                                inner_span: Span {
                                    start: [ local path prefix ]/syntax.fpp:104:69,
                                    end: [ local path prefix ]/syntax.fpp:104:78,
                                },
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:104:68,
                                    end: [ local path prefix ]/syntax.fpp:104:79,
                                },
                            },
                            throttle: Some(
                                EventThrottle {
                                    count: Expr {
                                        kind: LiteralInt(
                                            "10",
                                        ),
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:104:89,
                                            end: [ local path prefix ]/syntax.fpp:104:91,
                                        },
                                    },
                                    every: Some(
                                        Expr {
                                            kind: Struct(
                                                [
                                                    StructExprMember {
                                                        name: Name {
                                                            data: "seconds",
                                                            node_id: Span {
                                                                start: [ local path prefix ]/syntax.fpp:104:99,
                                                                end: [ local path prefix ]/syntax.fpp:104:106,
                                                            },
                                                        },
                                                        value: Expr {
                                                            kind: LiteralInt(
                                                                "10",
                                                            ),
                                                            node_id: Span {
                                                                start: [ local path prefix ]/syntax.fpp:104:107,
                                                                end: [ local path prefix ]/syntax.fpp:104:109,
                                                            },
                                                        },
                                                        node_id: Span {
                                                            start: [ local path prefix ]/syntax.fpp:104:99,
                                                            end: [ local path prefix ]/syntax.fpp:104:109,
                                                        },
                                                    },
                                                ],
                                            ),
                                            node_id: Span {
                                                start: [ local path prefix ]/syntax.fpp:104:98,
                                                end: [ local path prefix ]/syntax.fpp:104:110,
                                            },
                                        },
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:104:80,
                                        end: [ local path prefix ]/syntax.fpp:104:110,
                                    },
                                },
                            ),
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:104:5,
                                end: [ local path prefix ]/syntax.fpp:104:110,
                            },
                            pre_annotation: [
                                "Event specifier with throttle timeout",
                            ],
                            post_annotation: [
                                "Event specifier",
                            ],
                        },
                        SpecInternalPort {
                            name: Name {
                                data: "I",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:108:19,
                                    end: [ local path prefix ]/syntax.fpp:108:20,
                                },
                            },
                            params: [
                                FormalParam {
                                    kind: Value,
                                    name: Name {
                                        data: "a",
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:108:21,
                                            end: [ local path prefix ]/syntax.fpp:108:22,
                                        },
                                    },
                                    type_name: TypeName {
                                        kind: Integer(
                                            U32,
                                        ),
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:108:24,
                                            end: [ local path prefix ]/syntax.fpp:108:27,
                                        },
                                    },
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:108:21,
                                        end: [ local path prefix ]/syntax.fpp:108:27,
                                    },
                                },
                                FormalParam {
                                    kind: Value,
                                    name: Name {
                                        data: "b",
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:108:29,
                                            end: [ local path prefix ]/syntax.fpp:108:30,
                                        },
                                    },
                                    type_name: TypeName {
                                        kind: Floating(
                                            F32,
                                        ),
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:108:32,
                                            end: [ local path prefix ]/syntax.fpp:108:35,
                                        },
                                    },
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:108:29,
                                        end: [ local path prefix ]/syntax.fpp:108:35,
                                    },
                                },
                            ],
                            priority: Some(
                                Expr {
                                    kind: LiteralInt(
                                        "10",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:108:46,
                                        end: [ local path prefix ]/syntax.fpp:108:48,
                                    },
                                },
                            ),
                            queue_full: Some(
                                Assert,
                            ),
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:108:5,
                                end: [ local path prefix ]/syntax.fpp:108:55,
                            },
                            pre_annotation: [
                                "Internal port specifier",
                            ],
                            post_annotation: [
                                "Internal port specifier",
                            ],
                        },
                        SpecInterfaceImport {
                            interface: Ident {
                                data: "I",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:112:12,
                                    end: [ local path prefix ]/syntax.fpp:112:13,
                                },
                            },
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:112:5,
                                end: [ local path prefix ]/syntax.fpp:112:13,
                            },
                            pre_annotation: [
                                "Interface import specifier",
                            ],
                            post_annotation: [
                                "Interface import specifier",
                            ],
                        },
                    ],
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:37:3,
                        end: [ local path prefix ]/syntax.fpp:114:4,
                    },
                    pre_annotation: [
                        "Component definition",
                    ],
                    post_annotation: [
                        "Component definition",
                    ],
                },
                DefComponentInstance {
                    name: Name {
                        data: "c1",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:118:12,
                            end: [ local path prefix ]/syntax.fpp:118:14,
                        },
                    },
                    component: Ident {
                        data: "C1",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:118:16,
                            end: [ local path prefix ]/syntax.fpp:118:18,
                        },
                    },
                    base_id: Some(
                        Expr {
                            kind: LiteralInt(
                                "0x100",
                            ),
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:118:27,
                                end: [ local path prefix ]/syntax.fpp:118:32,
                            },
                        },
                    ),
                    impl_type: None,
                    file: None,
                    queue_size: None,
                    stack_size: None,
                    priority: None,
                    cpu: None,
                    init_specs: [],
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:118:3,
                        end: [ local path prefix ]/syntax.fpp:118:32,
                    },
                    pre_annotation: [
                        "Simple component instance definition",
                    ],
                    post_annotation: [
                        "Simple component instance definition",
                    ],
                },
                DefComponentInstance {
                    name: Name {
                        data: "c2",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:122:12,
                            end: [ local path prefix ]/syntax.fpp:122:14,
                        },
                    },
                    component: Ident {
                        data: "C2",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:122:16,
                            end: [ local path prefix ]/syntax.fpp:122:18,
                        },
                    },
                    base_id: Some(
                        Expr {
                            kind: LiteralInt(
                                "0x200",
                            ),
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:122:27,
                                end: [ local path prefix ]/syntax.fpp:122:32,
                            },
                        },
                    ),
                    impl_type: Some(
                        LitString {
                            data: "T",
                            inner_span: Span {
                                start: [ local path prefix ]/syntax.fpp:122:39,
                                end: [ local path prefix ]/syntax.fpp:122:40,
                            },
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:122:38,
                                end: [ local path prefix ]/syntax.fpp:122:41,
                            },
                        },
                    ),
                    file: Some(
                        LitString {
                            data: "C2.hpp",
                            inner_span: Span {
                                start: [ local path prefix ]/syntax.fpp:122:46,
                                end: [ local path prefix ]/syntax.fpp:122:52,
                            },
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:122:45,
                                end: [ local path prefix ]/syntax.fpp:122:53,
                            },
                        },
                    ),
                    queue_size: Some(
                        Expr {
                            kind: LiteralInt(
                                "100",
                            ),
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:122:65,
                                end: [ local path prefix ]/syntax.fpp:122:68,
                            },
                        },
                    ),
                    stack_size: Some(
                        Expr {
                            kind: LiteralInt(
                                "1024",
                            ),
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:122:80,
                                end: [ local path prefix ]/syntax.fpp:122:84,
                            },
                        },
                    ),
                    priority: Some(
                        Expr {
                            kind: LiteralInt(
                                "10",
                            ),
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:122:94,
                                end: [ local path prefix ]/syntax.fpp:122:96,
                            },
                        },
                    ),
                    cpu: Some(
                        Expr {
                            kind: LiteralInt(
                                "0",
                            ),
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:122:101,
                                end: [ local path prefix ]/syntax.fpp:122:102,
                            },
                        },
                    ),
                    init_specs: [
                        SpecInit {
                            phase: Expr {
                                kind: Ident(
                                    "CONSTRUCTION",
                                ),
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:124:11,
                                    end: [ local path prefix ]/syntax.fpp:124:23,
                                },
                            },
                            code: LitString {
                                data: "\nline 1\n  line 2\nline 3\n",
                                inner_span: Span {
                                    start: [ local path prefix ]/syntax.fpp:124:27,
                                    end: [ local path prefix ]/syntax.fpp:126:13,
                                },
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:124:24,
                                    end: [ local path prefix ]/syntax.fpp:128:8,
                                },
                            },
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:124:5,
                                end: [ local path prefix ]/syntax.fpp:128:8,
                            },
                            pre_annotation: [
                                "Init specifier",
                            ],
                            post_annotation: [
                                "Init specifier",
                            ],
                        },
                    ],
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:122:3,
                        end: [ local path prefix ]/syntax.fpp:130:4,
                    },
                    pre_annotation: [
                        "Component instance definition",
                    ],
                    post_annotation: [
                        "Component instance definition",
                    ],
                },
                DefConstant {
                    name: Name {
                        data: "x",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:134:12,
                            end: [ local path prefix ]/syntax.fpp:134:13,
                        },
                    },
                    value: Expr {
                        kind: LiteralInt(
                            "0",
                        ),
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:134:16,
                            end: [ local path prefix ]/syntax.fpp:134:17,
                        },
                    },
                    is_dictionary_def: false,
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:134:3,
                        end: [ local path prefix ]/syntax.fpp:134:17,
                    },
                    pre_annotation: [
                        "Constant definition",
                    ],
                    post_annotation: [
                        "Constant definition",
                    ],
                },
                DefEnum {
                    name: Name {
                        data: "E",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:138:8,
                            end: [ local path prefix ]/syntax.fpp:138:9,
                        },
                    },
                    type_name: Some(
                        TypeName {
                            kind: Integer(
                                I32,
                            ),
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:138:12,
                                end: [ local path prefix ]/syntax.fpp:138:15,
                            },
                        },
                    ),
                    constants: [
                        DefEnumConstant {
                            name: Name {
                                data: "X",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:140:5,
                                    end: [ local path prefix ]/syntax.fpp:140:6,
                                },
                            },
                            value: Some(
                                Expr {
                                    kind: LiteralInt(
                                        "1",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:140:9,
                                        end: [ local path prefix ]/syntax.fpp:140:10,
                                    },
                                },
                            ),
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:140:5,
                                end: [ local path prefix ]/syntax.fpp:140:10,
                            },
                            pre_annotation: [
                                "X",
                            ],
                            post_annotation: [
                                "X",
                            ],
                        },
                        DefEnumConstant {
                            name: Name {
                                data: "Y",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:143:5,
                                    end: [ local path prefix ]/syntax.fpp:143:6,
                                },
                            },
                            value: Some(
                                Expr {
                                    kind: LiteralInt(
                                        "2",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:143:9,
                                        end: [ local path prefix ]/syntax.fpp:143:10,
                                    },
                                },
                            ),
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:143:5,
                                end: [ local path prefix ]/syntax.fpp:143:10,
                            },
                            pre_annotation: [
                                "Y",
                            ],
                            post_annotation: [
                                "Y",
                            ],
                        },
                    ],
                    default: None,
                    is_dictionary_def: false,
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:138:3,
                        end: [ local path prefix ]/syntax.fpp:145:4,
                    },
                    pre_annotation: [
                        "Enum definition",
                    ],
                    post_annotation: [
                        "Enum definition",
                    ],
                },
                DefModule {
                    name: Name {
                        data: "M",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:149:10,
                            end: [ local path prefix ]/syntax.fpp:149:11,
                        },
                    },
                    members: [
                        DefConstant {
                            name: Name {
                                data: "x",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:151:14,
                                    end: [ local path prefix ]/syntax.fpp:151:15,
                                },
                            },
                            value: Expr {
                                kind: LiteralInt(
                                    "0",
                                ),
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:151:18,
                                    end: [ local path prefix ]/syntax.fpp:151:19,
                                },
                            },
                            is_dictionary_def: false,
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:151:5,
                                end: [ local path prefix ]/syntax.fpp:151:19,
                            },
                        },
                    ],
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:149:3,
                        end: [ local path prefix ]/syntax.fpp:153:4,
                    },
                    pre_annotation: [
                        "Module definition",
                    ],
                    post_annotation: [
                        "Module definition",
                    ],
                },
                DefConstant {
                    name: Name {
                        data: "x",
                        node_id: Span {
                            start: [ local path prefix ]/constant.fppi:2:10,
                            end: [ local path prefix ]/constant.fppi:2:11,
                        },
                    },
                    value: Expr {
                        kind: LiteralInt(
                            "0",
                        ),
                        node_id: Span {
                            start: [ local path prefix ]/constant.fppi:2:14,
                            end: [ local path prefix ]/constant.fppi:2:15,
                        },
                    },
                    is_dictionary_def: false,
                    node_id: Span {
                        start: [ local path prefix ]/constant.fppi:2:1,
                        end: [ local path prefix ]/constant.fppi:2:15,
                    },
                    pre_annotation: [
                        "Included constant",
                    ],
                    post_annotation: [
                        "Included constant",
                    ],
                },
                DefPort {
                    name: Name {
                        data: "P",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:161:8,
                            end: [ local path prefix ]/syntax.fpp:161:9,
                        },
                    },
                    params: [
                        FormalParam {
                            kind: Value,
                            name: Name {
                                data: "a",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:161:10,
                                    end: [ local path prefix ]/syntax.fpp:161:11,
                                },
                            },
                            type_name: TypeName {
                                kind: Integer(
                                    U32,
                                ),
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:161:13,
                                    end: [ local path prefix ]/syntax.fpp:161:16,
                                },
                            },
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:161:10,
                                end: [ local path prefix ]/syntax.fpp:161:16,
                            },
                        },
                        FormalParam {
                            kind: Value,
                            name: Name {
                                data: "b",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:161:18,
                                    end: [ local path prefix ]/syntax.fpp:161:19,
                                },
                            },
                            type_name: TypeName {
                                kind: Floating(
                                    F32,
                                ),
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:161:21,
                                    end: [ local path prefix ]/syntax.fpp:161:24,
                                },
                            },
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:161:18,
                                end: [ local path prefix ]/syntax.fpp:161:24,
                            },
                        },
                    ],
                    return_type: Some(
                        TypeName {
                            kind: Integer(
                                U32,
                            ),
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:161:29,
                                end: [ local path prefix ]/syntax.fpp:161:32,
                            },
                        },
                    ),
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:161:3,
                        end: [ local path prefix ]/syntax.fpp:161:32,
                    },
                    pre_annotation: [
                        "Port definition",
                    ],
                    post_annotation: [
                        "Port definition",
                    ],
                },
                DefStruct {
                    name: Name {
                        data: "S",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:165:10,
                            end: [ local path prefix ]/syntax.fpp:165:11,
                        },
                    },
                    members: [
                        StructTypeMember {
                            name: Name {
                                data: "x",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:167:5,
                                    end: [ local path prefix ]/syntax.fpp:167:6,
                                },
                            },
                            size: None,
                            type_name: TypeName {
                                kind: Integer(
                                    U32,
                                ),
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:167:8,
                                    end: [ local path prefix ]/syntax.fpp:167:11,
                                },
                            },
                            format: Some(
                                LitString {
                                    data: "{} s",
                                    inner_span: Span {
                                        start: [ local path prefix ]/syntax.fpp:167:20,
                                        end: [ local path prefix ]/syntax.fpp:167:24,
                                    },
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:167:19,
                                        end: [ local path prefix ]/syntax.fpp:167:25,
                                    },
                                },
                            ),
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:167:5,
                                end: [ local path prefix ]/syntax.fpp:167:25,
                            },
                            pre_annotation: [
                                "x",
                            ],
                            post_annotation: [
                                "x",
                            ],
                        },
                        StructTypeMember {
                            name: Name {
                                data: "y",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:170:5,
                                    end: [ local path prefix ]/syntax.fpp:170:6,
                                },
                            },
                            size: None,
                            type_name: TypeName {
                                kind: Floating(
                                    F32,
                                ),
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:170:8,
                                    end: [ local path prefix ]/syntax.fpp:170:11,
                                },
                            },
                            format: Some(
                                LitString {
                                    data: "{} m/s",
                                    inner_span: Span {
                                        start: [ local path prefix ]/syntax.fpp:170:20,
                                        end: [ local path prefix ]/syntax.fpp:170:26,
                                    },
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:170:19,
                                        end: [ local path prefix ]/syntax.fpp:170:27,
                                    },
                                },
                            ),
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:170:5,
                                end: [ local path prefix ]/syntax.fpp:170:27,
                            },
                            pre_annotation: [
                                "y",
                            ],
                            post_annotation: [
                                "y",
                            ],
                        },
                    ],
                    default: None,
                    is_dictionary_def: false,
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:165:3,
                        end: [ local path prefix ]/syntax.fpp:172:4,
                    },
                    pre_annotation: [
                        "Struct definition",
                    ],
                    post_annotation: [
                        "Struct definition",
                    ],
                },
                DefTopology {
                    name: Name {
                        data: "T",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:176:12,
                            end: [ local path prefix ]/syntax.fpp:176:13,
                        },
                    },
                    members: [
                        SpecInstance {
                            instance: Ident {
                                data: "i1",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:179:14,
                                    end: [ local path prefix ]/syntax.fpp:179:16,
                                },
                            },
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:179:5,
                                end: [ local path prefix ]/syntax.fpp:179:16,
                            },
                            pre_annotation: [
                                "Public instance specifier",
                            ],
                            post_annotation: [
                                "Public instance specifier",
                            ],
                        },
                        SpecDirectConnectionGraph {
                            name: Name {
                                data: "C",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:183:17,
                                    end: [ local path prefix ]/syntax.fpp:183:18,
                                },
                            },
                            connections: [
                                Connection {
                                    is_unmatched: false,
                                    from_port: PortInstanceIdentifier {
                                        interface_instance: Ident {
                                            data: "i1",
                                            node_id: Span {
                                                start: [ local path prefix ]/syntax.fpp:184:7,
                                                end: [ local path prefix ]/syntax.fpp:184:9,
                                            },
                                        },
                                        port_name: Ident {
                                            data: "p",
                                            node_id: Span {
                                                start: [ local path prefix ]/syntax.fpp:184:10,
                                                end: [ local path prefix ]/syntax.fpp:184:11,
                                            },
                                        },
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:184:7,
                                            end: [ local path prefix ]/syntax.fpp:184:11,
                                        },
                                    },
                                    from_index: Some(
                                        Expr {
                                            kind: LiteralInt(
                                                "0",
                                            ),
                                            node_id: Span {
                                                start: [ local path prefix ]/syntax.fpp:184:12,
                                                end: [ local path prefix ]/syntax.fpp:184:13,
                                            },
                                        },
                                    ),
                                    to_port: PortInstanceIdentifier {
                                        interface_instance: Ident {
                                            data: "i2",
                                            node_id: Span {
                                                start: [ local path prefix ]/syntax.fpp:184:18,
                                                end: [ local path prefix ]/syntax.fpp:184:20,
                                            },
                                        },
                                        port_name: Ident {
                                            data: "p",
                                            node_id: Span {
                                                start: [ local path prefix ]/syntax.fpp:184:21,
                                                end: [ local path prefix ]/syntax.fpp:184:22,
                                            },
                                        },
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:184:18,
                                            end: [ local path prefix ]/syntax.fpp:184:22,
                                        },
                                    },
                                    to_index: Some(
                                        Expr {
                                            kind: LiteralInt(
                                                "1",
                                            ),
                                            node_id: Span {
                                                start: [ local path prefix ]/syntax.fpp:184:23,
                                                end: [ local path prefix ]/syntax.fpp:184:24,
                                            },
                                        },
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:184:7,
                                        end: [ local path prefix ]/syntax.fpp:184:25,
                                    },
                                },
                                Connection {
                                    is_unmatched: true,
                                    from_port: PortInstanceIdentifier {
                                        interface_instance: Ident {
                                            data: "i1",
                                            node_id: Span {
                                                start: [ local path prefix ]/syntax.fpp:185:17,
                                                end: [ local path prefix ]/syntax.fpp:185:19,
                                            },
                                        },
                                        port_name: Ident {
                                            data: "p1",
                                            node_id: Span {
                                                start: [ local path prefix ]/syntax.fpp:185:20,
                                                end: [ local path prefix ]/syntax.fpp:185:22,
                                            },
                                        },
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:185:17,
                                            end: [ local path prefix ]/syntax.fpp:185:22,
                                        },
                                    },
                                    from_index: Some(
                                        Expr {
                                            kind: LiteralInt(
                                                "0",
                                            ),
                                            node_id: Span {
                                                start: [ local path prefix ]/syntax.fpp:185:23,
                                                end: [ local path prefix ]/syntax.fpp:185:24,
                                            },
                                        },
                                    ),
                                    to_port: PortInstanceIdentifier {
                                        interface_instance: Ident {
                                            data: "i2",
                                            node_id: Span {
                                                start: [ local path prefix ]/syntax.fpp:185:29,
                                                end: [ local path prefix ]/syntax.fpp:185:31,
                                            },
                                        },
                                        port_name: Ident {
                                            data: "p2",
                                            node_id: Span {
                                                start: [ local path prefix ]/syntax.fpp:185:32,
                                                end: [ local path prefix ]/syntax.fpp:185:34,
                                            },
                                        },
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:185:29,
                                            end: [ local path prefix ]/syntax.fpp:185:34,
                                        },
                                    },
                                    to_index: Some(
                                        Expr {
                                            kind: LiteralInt(
                                                "0",
                                            ),
                                            node_id: Span {
                                                start: [ local path prefix ]/syntax.fpp:185:35,
                                                end: [ local path prefix ]/syntax.fpp:185:36,
                                            },
                                        },
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:185:7,
                                        end: [ local path prefix ]/syntax.fpp:185:37,
                                    },
                                },
                                Connection {
                                    is_unmatched: true,
                                    from_port: PortInstanceIdentifier {
                                        interface_instance: Ident {
                                            data: "i1",
                                            node_id: Span {
                                                start: [ local path prefix ]/syntax.fpp:186:17,
                                                end: [ local path prefix ]/syntax.fpp:186:19,
                                            },
                                        },
                                        port_name: Ident {
                                            data: "p1",
                                            node_id: Span {
                                                start: [ local path prefix ]/syntax.fpp:186:20,
                                                end: [ local path prefix ]/syntax.fpp:186:22,
                                            },
                                        },
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:186:17,
                                            end: [ local path prefix ]/syntax.fpp:186:22,
                                        },
                                    },
                                    from_index: None,
                                    to_port: PortInstanceIdentifier {
                                        interface_instance: Ident {
                                            data: "i2",
                                            node_id: Span {
                                                start: [ local path prefix ]/syntax.fpp:186:26,
                                                end: [ local path prefix ]/syntax.fpp:186:28,
                                            },
                                        },
                                        port_name: Ident {
                                            data: "p2",
                                            node_id: Span {
                                                start: [ local path prefix ]/syntax.fpp:186:29,
                                                end: [ local path prefix ]/syntax.fpp:186:31,
                                            },
                                        },
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:186:26,
                                            end: [ local path prefix ]/syntax.fpp:186:31,
                                        },
                                    },
                                    to_index: None,
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:186:7,
                                        end: [ local path prefix ]/syntax.fpp:186:31,
                                    },
                                },
                            ],
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:183:5,
                                end: [ local path prefix ]/syntax.fpp:187:6,
                            },
                            pre_annotation: [
                                "Direct connection graph specifier",
                            ],
                            post_annotation: [
                                "Direct connection graph specifier",
                            ],
                        },
                        SpecPatternConnectionGraph {
                            kind: Command,
                            source: Ident {
                                data: "i1",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:191:34,
                                    end: [ local path prefix ]/syntax.fpp:191:36,
                                },
                            },
                            targets: [
                                Ident {
                                    data: "i2",
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:191:39,
                                        end: [ local path prefix ]/syntax.fpp:191:41,
                                    },
                                },
                                Ident {
                                    data: "i3",
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:191:43,
                                        end: [ local path prefix ]/syntax.fpp:191:45,
                                    },
                                },
                                Ident {
                                    data: "i4",
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:191:47,
                                        end: [ local path prefix ]/syntax.fpp:191:49,
                                    },
                                },
                            ],
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:191:5,
                                end: [ local path prefix ]/syntax.fpp:191:51,
                            },
                            pre_annotation: [
                                "Graph pattern specifier",
                            ],
                            post_annotation: [
                                "Graph pattern specifier",
                            ],
                        },
                        SpecInstance {
                            instance: Ident {
                                data: "T1",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:195:12,
                                    end: [ local path prefix ]/syntax.fpp:195:14,
                                },
                            },
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:195:5,
                                end: [ local path prefix ]/syntax.fpp:195:14,
                            },
                            pre_annotation: [
                                "Topology instance specifier",
                            ],
                            post_annotation: [
                                "Topology instance specifier",
                            ],
                        },
                        SpecTlmPacketSet {
                            name: Name {
                                data: "P",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:199:23,
                                    end: [ local path prefix ]/syntax.fpp:199:24,
                                },
                            },
                            members: [
                                SpecTlmPacket {
                                    name: Name {
                                        data: "P1",
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:202:14,
                                            end: [ local path prefix ]/syntax.fpp:202:16,
                                        },
                                    },
                                    id: Some(
                                        Expr {
                                            kind: LiteralInt(
                                                "0",
                                            ),
                                            node_id: Span {
                                                start: [ local path prefix ]/syntax.fpp:202:20,
                                                end: [ local path prefix ]/syntax.fpp:202:21,
                                            },
                                        },
                                    ),
                                    group: Expr {
                                        kind: LiteralInt(
                                            "0",
                                        ),
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:202:28,
                                            end: [ local path prefix ]/syntax.fpp:202:29,
                                        },
                                    },
                                    members: [
                                        TlmChannelIdentifier {
                                            component_instance: Ident {
                                                data: "i1",
                                                node_id: Span {
                                                    start: [ local path prefix ]/syntax.fpp:203:9,
                                                    end: [ local path prefix ]/syntax.fpp:203:11,
                                                },
                                            },
                                            channel_name: Ident {
                                                data: "c1",
                                                node_id: Span {
                                                    start: [ local path prefix ]/syntax.fpp:203:12,
                                                    end: [ local path prefix ]/syntax.fpp:203:14,
                                                },
                                            },
                                            node_id: Span {
                                                start: [ local path prefix ]/syntax.fpp:203:9,
                                                end: [ local path prefix ]/syntax.fpp:203:14,
                                            },
                                        },
                                        TlmChannelIdentifier {
                                            component_instance: Ident {
                                                data: "i2",
                                                node_id: Span {
                                                    start: [ local path prefix ]/syntax.fpp:204:9,
                                                    end: [ local path prefix ]/syntax.fpp:204:11,
                                                },
                                            },
                                            channel_name: Ident {
                                                data: "c2",
                                                node_id: Span {
                                                    start: [ local path prefix ]/syntax.fpp:204:12,
                                                    end: [ local path prefix ]/syntax.fpp:204:14,
                                                },
                                            },
                                            node_id: Span {
                                                start: [ local path prefix ]/syntax.fpp:204:9,
                                                end: [ local path prefix ]/syntax.fpp:204:14,
                                            },
                                        },
                                    ],
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:202:7,
                                        end: [ local path prefix ]/syntax.fpp:205:8,
                                    },
                                    pre_annotation: [
                                        "Telemetry packet",
                                    ],
                                    post_annotation: [
                                        "Telemetry packet",
                                    ],
                                },
                                SpecTlmPacket {
                                    name: Name {
                                        data: "P2",
                                        node_id: Span {
                                            start: [ local path prefix ]/packet.fppi:2:8,
                                            end: [ local path prefix ]/packet.fppi:2:10,
                                        },
                                    },
                                    id: Some(
                                        Expr {
                                            kind: LiteralInt(
                                                "1",
                                            ),
                                            node_id: Span {
                                                start: [ local path prefix ]/packet.fppi:2:14,
                                                end: [ local path prefix ]/packet.fppi:2:15,
                                            },
                                        },
                                    ),
                                    group: Expr {
                                        kind: LiteralInt(
                                            "1",
                                        ),
                                        node_id: Span {
                                            start: [ local path prefix ]/packet.fppi:2:22,
                                            end: [ local path prefix ]/packet.fppi:2:23,
                                        },
                                    },
                                    members: [
                                        TlmChannelIdentifier {
                                            component_instance: Ident {
                                                data: "i4",
                                                node_id: Span {
                                                    start: [ local path prefix ]/packet.fppi:3:3,
                                                    end: [ local path prefix ]/packet.fppi:3:5,
                                                },
                                            },
                                            channel_name: Ident {
                                                data: "c4",
                                                node_id: Span {
                                                    start: [ local path prefix ]/packet.fppi:3:6,
                                                    end: [ local path prefix ]/packet.fppi:3:8,
                                                },
                                            },
                                            node_id: Span {
                                                start: [ local path prefix ]/packet.fppi:3:3,
                                                end: [ local path prefix ]/packet.fppi:3:8,
                                            },
                                        },
                                        TlmChannelIdentifier {
                                            component_instance: Ident {
                                                data: "i5",
                                                node_id: Span {
                                                    start: [ local path prefix ]/channel.fppi:1:1,
                                                    end: [ local path prefix ]/channel.fppi:1:3,
                                                },
                                            },
                                            channel_name: Ident {
                                                data: "c5",
                                                node_id: Span {
                                                    start: [ local path prefix ]/channel.fppi:1:4,
                                                    end: [ local path prefix ]/channel.fppi:1:6,
                                                },
                                            },
                                            node_id: Span {
                                                start: [ local path prefix ]/channel.fppi:1:1,
                                                end: [ local path prefix ]/channel.fppi:1:6,
                                            },
                                        },
                                    ],
                                    node_id: Span {
                                        start: [ local path prefix ]/packet.fppi:2:1,
                                        end: [ local path prefix ]/packet.fppi:5:2,
                                    },
                                    pre_annotation: [
                                        "Included packet",
                                    ],
                                    post_annotation: [
                                        "Included packet",
                                    ],
                                },
                            ],
                            omitted: [
                                TlmChannelIdentifier {
                                    component_instance: Ident {
                                        data: "i3",
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:213:7,
                                            end: [ local path prefix ]/syntax.fpp:213:9,
                                        },
                                    },
                                    channel_name: Ident {
                                        data: "c3",
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:213:10,
                                            end: [ local path prefix ]/syntax.fpp:213:12,
                                        },
                                    },
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:213:7,
                                        end: [ local path prefix ]/syntax.fpp:213:12,
                                    },
                                },
                            ],
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:199:5,
                                end: [ local path prefix ]/syntax.fpp:214:6,
                            },
                            pre_annotation: [
                                "Telemetry packet group",
                            ],
                            post_annotation: [
                                "Telemetry packet group",
                            ],
                        },
                        SpecTopPort {
                            name: Name {
                                data: "a",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:218:10,
                                    end: [ local path prefix ]/syntax.fpp:218:11,
                                },
                            },
                            underlying_port: PortInstanceIdentifier {
                                interface_instance: Ident {
                                    data: "b",
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:218:14,
                                        end: [ local path prefix ]/syntax.fpp:218:15,
                                    },
                                },
                                port_name: Ident {
                                    data: "a",
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:218:16,
                                        end: [ local path prefix ]/syntax.fpp:218:17,
                                    },
                                },
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:218:14,
                                    end: [ local path prefix ]/syntax.fpp:218:17,
                                },
                            },
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:218:5,
                                end: [ local path prefix ]/syntax.fpp:218:17,
                            },
                            pre_annotation: [
                                "Topology port specifier",
                            ],
                            post_annotation: [
                                "Topology port specifier",
                            ],
                        },
                    ],
                    implements: [],
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:176:3,
                        end: [ local path prefix ]/syntax.fpp:220:4,
                    },
                    pre_annotation: [
                        "Topology definition",
                    ],
                    post_annotation: [
                        "Topology definition",
                    ],
                },
                DefTopology {
                    name: Name {
                        data: "T",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:224:12,
                            end: [ local path prefix ]/syntax.fpp:224:13,
                        },
                    },
                    members: [],
                    implements: [
                        Ident {
                            data: "I",
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:224:25,
                                end: [ local path prefix ]/syntax.fpp:224:26,
                            },
                        },
                    ],
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:224:3,
                        end: [ local path prefix ]/syntax.fpp:224:29,
                    },
                    pre_annotation: [
                        "Topology definition with one implements",
                    ],
                    post_annotation: [
                        "Topology definition with one implements",
                    ],
                },
                DefTopology {
                    name: Name {
                        data: "T",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:228:12,
                            end: [ local path prefix ]/syntax.fpp:228:13,
                        },
                    },
                    members: [],
                    implements: [
                        Ident {
                            data: "I",
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:228:25,
                                end: [ local path prefix ]/syntax.fpp:228:26,
                            },
                        },
                        Ident {
                            data: "I",
                            node_id: Span {
                                start: [ local path prefix ]/syntax.fpp:228:28,
                                end: [ local path prefix ]/syntax.fpp:228:29,
                            },
                        },
                    ],
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:228:3,
                        end: [ local path prefix ]/syntax.fpp:228:32,
                    },
                    pre_annotation: [
                        "Topology definition with two implements",
                    ],
                    post_annotation: [
                        "Topology definition with two implements",
                    ],
                },
                SpecLoc {
                    kind: Instance,
                    symbol: Ident {
                        data: "i",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:232:19,
                            end: [ local path prefix ]/syntax.fpp:232:20,
                        },
                    },
                    file: LitString {
                        data: "instances.fpp",
                        inner_span: Span {
                            start: [ local path prefix ]/syntax.fpp:232:25,
                            end: [ local path prefix ]/syntax.fpp:232:38,
                        },
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:232:24,
                            end: [ local path prefix ]/syntax.fpp:232:39,
                        },
                    },
                    is_dictionary_def: false,
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:232:3,
                        end: [ local path prefix ]/syntax.fpp:232:39,
                    },
                    pre_annotation: [
                        "Location specifier",
                    ],
                    post_annotation: [
                        "Location specifier",
                    ],
                },
            ],
            node_id: Span {
                start: [ local path prefix ]/syntax.fpp:2:1,
                end: [ local path prefix ]/syntax.fpp:235:2,
            },
            pre_annotation: [
                "Definitions and specifiers",
            ],
            post_annotation: [
                "Definitions and specifiers",
            ],
        },
        DefModule {
            name: Name {
                data: "TypeNames",
                node_id: Span {
                    start: [ local path prefix ]/syntax.fpp:239:8,
                    end: [ local path prefix ]/syntax.fpp:239:17,
                },
            },
            members: [
                DefArray {
                    name: Name {
                        data: "typeNameU32",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:241:9,
                            end: [ local path prefix ]/syntax.fpp:241:20,
                        },
                    },
                    size: Expr {
                        kind: LiteralInt(
                            "10",
                        ),
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:241:24,
                            end: [ local path prefix ]/syntax.fpp:241:26,
                        },
                    },
                    elt_type: TypeName {
                        kind: Integer(
                            U32,
                        ),
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:241:28,
                            end: [ local path prefix ]/syntax.fpp:241:31,
                        },
                    },
                    default: None,
                    format: None,
                    is_dictionary_def: false,
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:241:3,
                        end: [ local path prefix ]/syntax.fpp:241:31,
                    },
                },
                DefArray {
                    name: Name {
                        data: "typeNameF32",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:242:9,
                            end: [ local path prefix ]/syntax.fpp:242:20,
                        },
                    },
                    size: Expr {
                        kind: LiteralInt(
                            "10",
                        ),
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:242:24,
                            end: [ local path prefix ]/syntax.fpp:242:26,
                        },
                    },
                    elt_type: TypeName {
                        kind: Floating(
                            F32,
                        ),
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:242:28,
                            end: [ local path prefix ]/syntax.fpp:242:31,
                        },
                    },
                    default: None,
                    format: None,
                    is_dictionary_def: false,
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:242:3,
                        end: [ local path prefix ]/syntax.fpp:242:31,
                    },
                },
                DefArray {
                    name: Name {
                        data: "typeNameBool",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:243:9,
                            end: [ local path prefix ]/syntax.fpp:243:21,
                        },
                    },
                    size: Expr {
                        kind: LiteralInt(
                            "10",
                        ),
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:243:25,
                            end: [ local path prefix ]/syntax.fpp:243:27,
                        },
                    },
                    elt_type: TypeName {
                        kind: Bool,
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:243:29,
                            end: [ local path prefix ]/syntax.fpp:243:33,
                        },
                    },
                    default: None,
                    format: None,
                    is_dictionary_def: false,
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:243:3,
                        end: [ local path prefix ]/syntax.fpp:243:33,
                    },
                },
                DefArray {
                    name: Name {
                        data: "typeNameString",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:244:9,
                            end: [ local path prefix ]/syntax.fpp:244:23,
                        },
                    },
                    size: Expr {
                        kind: LiteralInt(
                            "10",
                        ),
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:244:27,
                            end: [ local path prefix ]/syntax.fpp:244:29,
                        },
                    },
                    elt_type: TypeName {
                        kind: String(
                            Some(
                                Expr {
                                    kind: LiteralInt(
                                        "256",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:244:43,
                                        end: [ local path prefix ]/syntax.fpp:244:46,
                                    },
                                },
                            ),
                        ),
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:244:31,
                            end: [ local path prefix ]/syntax.fpp:244:46,
                        },
                    },
                    default: None,
                    format: None,
                    is_dictionary_def: false,
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:244:3,
                        end: [ local path prefix ]/syntax.fpp:244:46,
                    },
                },
                DefArray {
                    name: Name {
                        data: "typeNameQID",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:245:9,
                            end: [ local path prefix ]/syntax.fpp:245:20,
                        },
                    },
                    size: Expr {
                        kind: LiteralInt(
                            "10",
                        ),
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:245:24,
                            end: [ local path prefix ]/syntax.fpp:245:26,
                        },
                    },
                    elt_type: TypeName {
                        kind: QualIdent(
                            Qualified {
                                qualifier: Qualified {
                                    qualifier: Ident {
                                        data: "a",
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:245:28,
                                            end: [ local path prefix ]/syntax.fpp:245:29,
                                        },
                                    },
                                    name: Ident {
                                        data: "b",
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:245:30,
                                            end: [ local path prefix ]/syntax.fpp:245:31,
                                        },
                                    },
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:245:28,
                                        end: [ local path prefix ]/syntax.fpp:245:33,
                                    },
                                },
                                name: Ident {
                                    data: "c",
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:245:32,
                                        end: [ local path prefix ]/syntax.fpp:245:33,
                                    },
                                },
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:245:28,
                                    end: [ local path prefix ]/syntax.fpp:245:33,
                                },
                            },
                        ),
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:245:28,
                            end: [ local path prefix ]/syntax.fpp:245:33,
                        },
                    },
                    default: None,
                    format: None,
                    is_dictionary_def: false,
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:245:3,
                        end: [ local path prefix ]/syntax.fpp:245:33,
                    },
                },
            ],
            node_id: Span {
                start: [ local path prefix ]/syntax.fpp:239:1,
                end: [ local path prefix ]/syntax.fpp:247:2,
            },
            pre_annotation: [
                "Type names",
            ],
            post_annotation: [
                "Type names",
            ],
        },
        DefModule {
            name: Name {
                data: "Expressions",
                node_id: Span {
                    start: [ local path prefix ]/syntax.fpp:251:8,
                    end: [ local path prefix ]/syntax.fpp:251:19,
                },
            },
            members: [
                DefConstant {
                    name: Name {
                        data: "arithExp",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:254:12,
                            end: [ local path prefix ]/syntax.fpp:254:20,
                        },
                    },
                    value: Expr {
                        kind: Binop {
                            left: Expr {
                                kind: Binop {
                                    left: Expr {
                                        kind: Binop {
                                            left: Expr {
                                                kind: LiteralInt(
                                                    "1",
                                                ),
                                                node_id: Span {
                                                    start: [ local path prefix ]/syntax.fpp:254:23,
                                                    end: [ local path prefix ]/syntax.fpp:254:24,
                                                },
                                            },
                                            op: Add,
                                            right: Expr {
                                                kind: Binop {
                                                    left: Expr {
                                                        kind: LiteralInt(
                                                            "2",
                                                        ),
                                                        node_id: Span {
                                                            start: [ local path prefix ]/syntax.fpp:254:27,
                                                            end: [ local path prefix ]/syntax.fpp:254:28,
                                                        },
                                                    },
                                                    op: Mul,
                                                    right: Expr {
                                                        kind: LiteralInt(
                                                            "3",
                                                        ),
                                                        node_id: Span {
                                                            start: [ local path prefix ]/syntax.fpp:254:31,
                                                            end: [ local path prefix ]/syntax.fpp:254:32,
                                                        },
                                                    },
                                                },
                                                node_id: Span {
                                                    start: [ local path prefix ]/syntax.fpp:254:27,
                                                    end: [ local path prefix ]/syntax.fpp:254:32,
                                                },
                                            },
                                        },
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:254:23,
                                            end: [ local path prefix ]/syntax.fpp:254:32,
                                        },
                                    },
                                    op: Sub,
                                    right: Expr {
                                        kind: Binop {
                                            left: Expr {
                                                kind: Unop {
                                                    op: Minus,
                                                    e: Expr {
                                                        kind: LiteralInt(
                                                            "4",
                                                        ),
                                                        node_id: Span {
                                                            start: [ local path prefix ]/syntax.fpp:254:36,
                                                            end: [ local path prefix ]/syntax.fpp:254:37,
                                                        },
                                                    },
                                                },
                                                node_id: Span {
                                                    start: [ local path prefix ]/syntax.fpp:254:35,
                                                    end: [ local path prefix ]/syntax.fpp:254:37,
                                                },
                                            },
                                            op: Mul,
                                            right: Expr {
                                                kind: LiteralInt(
                                                    "5",
                                                ),
                                                node_id: Span {
                                                    start: [ local path prefix ]/syntax.fpp:254:40,
                                                    end: [ local path prefix ]/syntax.fpp:254:41,
                                                },
                                            },
                                        },
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:254:35,
                                            end: [ local path prefix ]/syntax.fpp:254:41,
                                        },
                                    },
                                },
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:254:23,
                                    end: [ local path prefix ]/syntax.fpp:254:41,
                                },
                            },
                            op: Add,
                            right: Expr {
                                kind: LiteralInt(
                                    "6",
                                ),
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:254:44,
                                    end: [ local path prefix ]/syntax.fpp:254:45,
                                },
                            },
                        },
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:254:23,
                            end: [ local path prefix ]/syntax.fpp:254:45,
                        },
                    },
                    is_dictionary_def: false,
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:254:3,
                        end: [ local path prefix ]/syntax.fpp:254:45,
                    },
                    pre_annotation: [
                        "Arithmetic",
                    ],
                    post_annotation: [
                        "Arithmetic",
                    ],
                },
                DefConstant {
                    name: Name {
                        data: "arrayExp",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:258:12,
                            end: [ local path prefix ]/syntax.fpp:258:20,
                        },
                    },
                    value: Expr {
                        kind: Array(
                            [
                                Expr {
                                    kind: LiteralInt(
                                        "1",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:258:25,
                                        end: [ local path prefix ]/syntax.fpp:258:26,
                                    },
                                },
                                Expr {
                                    kind: LiteralInt(
                                        "2",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:258:28,
                                        end: [ local path prefix ]/syntax.fpp:258:29,
                                    },
                                },
                                Expr {
                                    kind: LiteralInt(
                                        "3",
                                    ),
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:258:31,
                                        end: [ local path prefix ]/syntax.fpp:258:32,
                                    },
                                },
                            ],
                        ),
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:258:23,
                            end: [ local path prefix ]/syntax.fpp:258:34,
                        },
                    },
                    is_dictionary_def: false,
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:258:3,
                        end: [ local path prefix ]/syntax.fpp:258:34,
                    },
                    pre_annotation: [
                        "Array",
                    ],
                    post_annotation: [
                        "Array",
                    ],
                },
                DefConstant {
                    name: Name {
                        data: "arraySubExp1",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:262:12,
                            end: [ local path prefix ]/syntax.fpp:262:24,
                        },
                    },
                    value: Expr {
                        kind: ArraySubscript {
                            e1: Expr {
                                kind: Array(
                                    [
                                        Expr {
                                            kind: LiteralInt(
                                                "1",
                                            ),
                                            node_id: Span {
                                                start: [ local path prefix ]/syntax.fpp:262:29,
                                                end: [ local path prefix ]/syntax.fpp:262:30,
                                            },
                                        },
                                        Expr {
                                            kind: LiteralInt(
                                                "2",
                                            ),
                                            node_id: Span {
                                                start: [ local path prefix ]/syntax.fpp:262:32,
                                                end: [ local path prefix ]/syntax.fpp:262:33,
                                            },
                                        },
                                        Expr {
                                            kind: LiteralInt(
                                                "3",
                                            ),
                                            node_id: Span {
                                                start: [ local path prefix ]/syntax.fpp:262:35,
                                                end: [ local path prefix ]/syntax.fpp:262:36,
                                            },
                                        },
                                    ],
                                ),
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:262:27,
                                    end: [ local path prefix ]/syntax.fpp:262:38,
                                },
                            },
                            e2: Expr {
                                kind: LiteralInt(
                                    "1",
                                ),
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:262:39,
                                    end: [ local path prefix ]/syntax.fpp:262:40,
                                },
                            },
                        },
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:262:27,
                            end: [ local path prefix ]/syntax.fpp:262:41,
                        },
                    },
                    is_dictionary_def: false,
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:262:3,
                        end: [ local path prefix ]/syntax.fpp:262:41,
                    },
                    pre_annotation: [
                        "Array Subscript",
                    ],
                    post_annotation: [
                        "Array Subscript",
                    ],
                },
                DefConstant {
                    name: Name {
                        data: "arraySubExp2",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:266:12,
                            end: [ local path prefix ]/syntax.fpp:266:24,
                        },
                    },
                    value: Expr {
                        kind: ArraySubscript {
                            e1: Expr {
                                kind: Dot {
                                    e: Expr {
                                        kind: Dot {
                                            e: Expr {
                                                kind: Ident(
                                                    "a",
                                                ),
                                                node_id: Span {
                                                    start: [ local path prefix ]/syntax.fpp:266:27,
                                                    end: [ local path prefix ]/syntax.fpp:266:28,
                                                },
                                            },
                                            id: Ident {
                                                data: "b",
                                                node_id: Span {
                                                    start: [ local path prefix ]/syntax.fpp:266:29,
                                                    end: [ local path prefix ]/syntax.fpp:266:30,
                                                },
                                            },
                                        },
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:266:27,
                                            end: [ local path prefix ]/syntax.fpp:266:30,
                                        },
                                    },
                                    id: Ident {
                                        data: "c",
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:266:31,
                                            end: [ local path prefix ]/syntax.fpp:266:32,
                                        },
                                    },
                                },
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:266:27,
                                    end: [ local path prefix ]/syntax.fpp:266:32,
                                },
                            },
                            e2: Expr {
                                kind: LiteralInt(
                                    "1",
                                ),
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:266:33,
                                    end: [ local path prefix ]/syntax.fpp:266:34,
                                },
                            },
                        },
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:266:27,
                            end: [ local path prefix ]/syntax.fpp:266:35,
                        },
                    },
                    is_dictionary_def: false,
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:266:3,
                        end: [ local path prefix ]/syntax.fpp:266:35,
                    },
                    pre_annotation: [
                        "Array Subscript",
                    ],
                    post_annotation: [
                        "Array Subscript",
                    ],
                },
                DefConstant {
                    name: Name {
                        data: "arraySubExp2",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:270:12,
                            end: [ local path prefix ]/syntax.fpp:270:24,
                        },
                    },
                    value: Expr {
                        kind: ArraySubscript {
                            e1: Expr {
                                kind: Dot {
                                    e: Expr {
                                        kind: ArraySubscript {
                                            e1: Expr {
                                                kind: ArraySubscript {
                                                    e1: Expr {
                                                        kind: Dot {
                                                            e: Expr {
                                                                kind: Dot {
                                                                    e: Expr {
                                                                        kind: Ident(
                                                                            "a",
                                                                        ),
                                                                        node_id: Span {
                                                                            start: [ local path prefix ]/syntax.fpp:270:27,
                                                                            end: [ local path prefix ]/syntax.fpp:270:28,
                                                                        },
                                                                    },
                                                                    id: Ident {
                                                                        data: "b",
                                                                        node_id: Span {
                                                                            start: [ local path prefix ]/syntax.fpp:270:29,
                                                                            end: [ local path prefix ]/syntax.fpp:270:30,
                                                                        },
                                                                    },
                                                                },
                                                                node_id: Span {
                                                                    start: [ local path prefix ]/syntax.fpp:270:27,
                                                                    end: [ local path prefix ]/syntax.fpp:270:30,
                                                                },
                                                            },
                                                            id: Ident {
                                                                data: "c",
                                                                node_id: Span {
                                                                    start: [ local path prefix ]/syntax.fpp:270:31,
                                                                    end: [ local path prefix ]/syntax.fpp:270:32,
                                                                },
                                                            },
                                                        },
                                                        node_id: Span {
                                                            start: [ local path prefix ]/syntax.fpp:270:27,
                                                            end: [ local path prefix ]/syntax.fpp:270:32,
                                                        },
                                                    },
                                                    e2: Expr {
                                                        kind: LiteralInt(
                                                            "1",
                                                        ),
                                                        node_id: Span {
                                                            start: [ local path prefix ]/syntax.fpp:270:33,
                                                            end: [ local path prefix ]/syntax.fpp:270:34,
                                                        },
                                                    },
                                                },
                                                node_id: Span {
                                                    start: [ local path prefix ]/syntax.fpp:270:27,
                                                    end: [ local path prefix ]/syntax.fpp:270:35,
                                                },
                                            },
                                            e2: Expr {
                                                kind: LiteralInt(
                                                    "2",
                                                ),
                                                node_id: Span {
                                                    start: [ local path prefix ]/syntax.fpp:270:36,
                                                    end: [ local path prefix ]/syntax.fpp:270:37,
                                                },
                                            },
                                        },
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:270:27,
                                            end: [ local path prefix ]/syntax.fpp:270:38,
                                        },
                                    },
                                    id: Ident {
                                        data: "s",
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:270:39,
                                            end: [ local path prefix ]/syntax.fpp:270:40,
                                        },
                                    },
                                },
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:270:27,
                                    end: [ local path prefix ]/syntax.fpp:270:40,
                                },
                            },
                            e2: Expr {
                                kind: LiteralInt(
                                    "12",
                                ),
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:270:41,
                                    end: [ local path prefix ]/syntax.fpp:270:43,
                                },
                            },
                        },
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:270:27,
                            end: [ local path prefix ]/syntax.fpp:270:44,
                        },
                    },
                    is_dictionary_def: false,
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:270:3,
                        end: [ local path prefix ]/syntax.fpp:270:44,
                    },
                    pre_annotation: [
                        "Array Subscript with member selection",
                    ],
                    post_annotation: [
                        "Array Subscript",
                    ],
                },
                DefConstant {
                    name: Name {
                        data: "booleanLiteralExp",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:274:12,
                            end: [ local path prefix ]/syntax.fpp:274:29,
                        },
                    },
                    value: Expr {
                        kind: LiteralBool(
                            true,
                        ),
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:274:32,
                            end: [ local path prefix ]/syntax.fpp:274:36,
                        },
                    },
                    is_dictionary_def: false,
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:274:3,
                        end: [ local path prefix ]/syntax.fpp:274:36,
                    },
                    pre_annotation: [
                        "Boolean literal",
                    ],
                    post_annotation: [
                        "Boolean literal",
                    ],
                },
                DefConstant {
                    name: Name {
                        data: "dotExp",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:278:12,
                            end: [ local path prefix ]/syntax.fpp:278:18,
                        },
                    },
                    value: Expr {
                        kind: Dot {
                            e: Expr {
                                kind: Dot {
                                    e: Expr {
                                        kind: Ident(
                                            "a",
                                        ),
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:278:21,
                                            end: [ local path prefix ]/syntax.fpp:278:22,
                                        },
                                    },
                                    id: Ident {
                                        data: "b",
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:278:23,
                                            end: [ local path prefix ]/syntax.fpp:278:24,
                                        },
                                    },
                                },
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:278:21,
                                    end: [ local path prefix ]/syntax.fpp:278:24,
                                },
                            },
                            id: Ident {
                                data: "c",
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:278:25,
                                    end: [ local path prefix ]/syntax.fpp:278:26,
                                },
                            },
                        },
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:278:21,
                            end: [ local path prefix ]/syntax.fpp:278:26,
                        },
                    },
                    is_dictionary_def: false,
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:278:3,
                        end: [ local path prefix ]/syntax.fpp:278:26,
                    },
                    pre_annotation: [
                        "Dot",
                    ],
                    post_annotation: [
                        "Dot",
                    ],
                },
                DefConstant {
                    name: Name {
                        data: "fpLiteralExp",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:282:12,
                            end: [ local path prefix ]/syntax.fpp:282:24,
                        },
                    },
                    value: Expr {
                        kind: LiteralFloat(
                            "0.1234",
                        ),
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:282:27,
                            end: [ local path prefix ]/syntax.fpp:282:33,
                        },
                    },
                    is_dictionary_def: false,
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:282:3,
                        end: [ local path prefix ]/syntax.fpp:282:33,
                    },
                    pre_annotation: [
                        "FP literal",
                    ],
                    post_annotation: [
                        "FP literal",
                    ],
                },
                DefConstant {
                    name: Name {
                        data: "identExp",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:286:12,
                            end: [ local path prefix ]/syntax.fpp:286:20,
                        },
                    },
                    value: Expr {
                        kind: Ident(
                            "x",
                        ),
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:286:23,
                            end: [ local path prefix ]/syntax.fpp:286:24,
                        },
                    },
                    is_dictionary_def: false,
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:286:3,
                        end: [ local path prefix ]/syntax.fpp:286:24,
                    },
                    pre_annotation: [
                        "Identifier",
                    ],
                    post_annotation: [
                        "Identifier",
                    ],
                },
                DefConstant {
                    name: Name {
                        data: "intLiteralExp",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:290:12,
                            end: [ local path prefix ]/syntax.fpp:290:25,
                        },
                    },
                    value: Expr {
                        kind: LiteralInt(
                            "1234",
                        ),
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:290:28,
                            end: [ local path prefix ]/syntax.fpp:290:32,
                        },
                    },
                    is_dictionary_def: false,
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:290:3,
                        end: [ local path prefix ]/syntax.fpp:290:32,
                    },
                    pre_annotation: [
                        "Int literal",
                    ],
                    post_annotation: [
                        "Int literal",
                    ],
                },
                DefConstant {
                    name: Name {
                        data: "parenExp",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:294:12,
                            end: [ local path prefix ]/syntax.fpp:294:20,
                        },
                    },
                    value: Expr {
                        kind: Binop {
                            left: Expr {
                                kind: Paren(
                                    Expr {
                                        kind: Binop {
                                            left: Expr {
                                                kind: LiteralInt(
                                                    "1",
                                                ),
                                                node_id: Span {
                                                    start: [ local path prefix ]/syntax.fpp:294:24,
                                                    end: [ local path prefix ]/syntax.fpp:294:25,
                                                },
                                            },
                                            op: Add,
                                            right: Expr {
                                                kind: LiteralInt(
                                                    "2",
                                                ),
                                                node_id: Span {
                                                    start: [ local path prefix ]/syntax.fpp:294:28,
                                                    end: [ local path prefix ]/syntax.fpp:294:29,
                                                },
                                            },
                                        },
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:294:24,
                                            end: [ local path prefix ]/syntax.fpp:294:29,
                                        },
                                    },
                                ),
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:294:23,
                                    end: [ local path prefix ]/syntax.fpp:294:30,
                                },
                            },
                            op: Mul,
                            right: Expr {
                                kind: LiteralInt(
                                    "3",
                                ),
                                node_id: Span {
                                    start: [ local path prefix ]/syntax.fpp:294:33,
                                    end: [ local path prefix ]/syntax.fpp:294:34,
                                },
                            },
                        },
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:294:23,
                            end: [ local path prefix ]/syntax.fpp:294:34,
                        },
                    },
                    is_dictionary_def: false,
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:294:3,
                        end: [ local path prefix ]/syntax.fpp:294:34,
                    },
                    pre_annotation: [
                        "Paren",
                    ],
                    post_annotation: [
                        "Paren",
                    ],
                },
                DefConstant {
                    name: Name {
                        data: "stringLiteralSingleExp",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:298:12,
                            end: [ local path prefix ]/syntax.fpp:298:34,
                        },
                    },
                    value: Expr {
                        kind: LiteralString(
                            "This is a string.",
                        ),
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:298:37,
                            end: [ local path prefix ]/syntax.fpp:298:56,
                        },
                    },
                    is_dictionary_def: false,
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:298:3,
                        end: [ local path prefix ]/syntax.fpp:298:56,
                    },
                    pre_annotation: [
                        "String literal single",
                    ],
                    post_annotation: [
                        "String literal single",
                    ],
                },
                DefConstant {
                    name: Name {
                        data: "stringLiteralMultExp",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:302:12,
                            end: [ local path prefix ]/syntax.fpp:302:32,
                        },
                    },
                    value: Expr {
                        kind: LiteralString(
                            "\nline 1\nline 2\nline 3\n",
                        ),
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:302:35,
                            end: [ local path prefix ]/syntax.fpp:306:38,
                        },
                    },
                    is_dictionary_def: false,
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:302:3,
                        end: [ local path prefix ]/syntax.fpp:306:38,
                    },
                    pre_annotation: [
                        "String literal multi",
                    ],
                    post_annotation: [
                        "String literal multi",
                    ],
                },
                DefConstant {
                    name: Name {
                        data: "structExp",
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:310:12,
                            end: [ local path prefix ]/syntax.fpp:310:21,
                        },
                    },
                    value: Expr {
                        kind: Struct(
                            [
                                StructExprMember {
                                    name: Name {
                                        data: "a",
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:310:26,
                                            end: [ local path prefix ]/syntax.fpp:310:27,
                                        },
                                    },
                                    value: Expr {
                                        kind: LiteralInt(
                                            "1",
                                        ),
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:310:30,
                                            end: [ local path prefix ]/syntax.fpp:310:31,
                                        },
                                    },
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:310:26,
                                        end: [ local path prefix ]/syntax.fpp:310:31,
                                    },
                                },
                                StructExprMember {
                                    name: Name {
                                        data: "b",
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:310:33,
                                            end: [ local path prefix ]/syntax.fpp:310:34,
                                        },
                                    },
                                    value: Expr {
                                        kind: LiteralInt(
                                            "2",
                                        ),
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:310:37,
                                            end: [ local path prefix ]/syntax.fpp:310:38,
                                        },
                                    },
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:310:33,
                                        end: [ local path prefix ]/syntax.fpp:310:38,
                                    },
                                },
                                StructExprMember {
                                    name: Name {
                                        data: "c",
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:310:40,
                                            end: [ local path prefix ]/syntax.fpp:310:41,
                                        },
                                    },
                                    value: Expr {
                                        kind: LiteralInt(
                                            "3",
                                        ),
                                        node_id: Span {
                                            start: [ local path prefix ]/syntax.fpp:310:44,
                                            end: [ local path prefix ]/syntax.fpp:310:45,
                                        },
                                    },
                                    node_id: Span {
                                        start: [ local path prefix ]/syntax.fpp:310:40,
                                        end: [ local path prefix ]/syntax.fpp:310:45,
                                    },
                                },
                            ],
                        ),
                        node_id: Span {
                            start: [ local path prefix ]/syntax.fpp:310:24,
                            end: [ local path prefix ]/syntax.fpp:310:47,
                        },
                    },
                    is_dictionary_def: false,
                    node_id: Span {
                        start: [ local path prefix ]/syntax.fpp:310:3,
                        end: [ local path prefix ]/syntax.fpp:310:47,
                    },
                    pre_annotation: [
                        "Struct",
                    ],
                    post_annotation: [
                        "Struct",
                    ],
                },
            ],
            node_id: Span {
                start: [ local path prefix ]/syntax.fpp:251:1,
                end: [ local path prefix ]/syntax.fpp:313:2,
            },
            pre_annotation: [
                "Expressions",
            ],
            post_annotation: [
                "Expressions",
            ],
        },
    ],
)