[
    FullOpeningTag(
        Span(
            1,
            1,
        ),
    ),
    Expression {
        expression: FunctionCall {
            target: Identifier(
                SimpleIdentifier(
                    SimpleIdentifier {
                        span: Span(
                            3,
                            1,
                        ),
                        value: "define",
                    },
                ),
            ),
            arguments: ArgumentList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span(
                    3,
                    7,
                ),
                arguments: [
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: Literal(
                            String(
                                LiteralString {
                                    value: "a",
                                    span: Span(
                                        3,
                                        8,
                                    ),
                                },
                            ),
                        ),
                    },
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: ComparisonOperation(
                            Equal {
                                left: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                3,
                                                13,
                                            ),
                                            name: "a",
                                        },
                                    ),
                                ),
                                double_equals: Span(
                                    3,
                                    16,
                                ),
                                right: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                3,
                                                19,
                                            ),
                                            name: "b",
                                        },
                                    ),
                                ),
                            },
                        ),
                    },
                ],
                right_parenthesis: Span(
                    3,
                    21,
                ),
            },
        },
        ending: Semicolon(
            Span(
                3,
                22,
            ),
        ),
    },
    Expression {
        expression: FunctionCall {
            target: Identifier(
                SimpleIdentifier(
                    SimpleIdentifier {
                        span: Span(
                            4,
                            1,
                        ),
                        value: "define",
                    },
                ),
            ),
            arguments: ArgumentList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span(
                    4,
                    7,
                ),
                arguments: [
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: Literal(
                            String(
                                LiteralString {
                                    value: "a",
                                    span: Span(
                                        4,
                                        8,
                                    ),
                                },
                            ),
                        ),
                    },
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: ComparisonOperation(
                            Identical {
                                left: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                4,
                                                13,
                                            ),
                                            name: "a",
                                        },
                                    ),
                                ),
                                triple_equals: Span(
                                    4,
                                    16,
                                ),
                                right: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                4,
                                                20,
                                            ),
                                            name: "b",
                                        },
                                    ),
                                ),
                            },
                        ),
                    },
                ],
                right_parenthesis: Span(
                    4,
                    22,
                ),
            },
        },
        ending: Semicolon(
            Span(
                4,
                23,
            ),
        ),
    },
    Expression {
        expression: FunctionCall {
            target: Identifier(
                SimpleIdentifier(
                    SimpleIdentifier {
                        span: Span(
                            5,
                            1,
                        ),
                        value: "define",
                    },
                ),
            ),
            arguments: ArgumentList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span(
                    5,
                    7,
                ),
                arguments: [
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: Literal(
                            String(
                                LiteralString {
                                    value: "a",
                                    span: Span(
                                        5,
                                        8,
                                    ),
                                },
                            ),
                        ),
                    },
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: ComparisonOperation(
                            NotEqual {
                                left: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                5,
                                                13,
                                            ),
                                            name: "a",
                                        },
                                    ),
                                ),
                                bang_equals: Span(
                                    5,
                                    16,
                                ),
                                right: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                5,
                                                19,
                                            ),
                                            name: "b",
                                        },
                                    ),
                                ),
                            },
                        ),
                    },
                ],
                right_parenthesis: Span(
                    5,
                    21,
                ),
            },
        },
        ending: Semicolon(
            Span(
                5,
                22,
            ),
        ),
    },
    Expression {
        expression: FunctionCall {
            target: Identifier(
                SimpleIdentifier(
                    SimpleIdentifier {
                        span: Span(
                            6,
                            1,
                        ),
                        value: "define",
                    },
                ),
            ),
            arguments: ArgumentList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span(
                    6,
                    7,
                ),
                arguments: [
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: Literal(
                            String(
                                LiteralString {
                                    value: "a",
                                    span: Span(
                                        6,
                                        8,
                                    ),
                                },
                            ),
                        ),
                    },
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: ComparisonOperation(
                            NotIdentical {
                                left: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                6,
                                                13,
                                            ),
                                            name: "a",
                                        },
                                    ),
                                ),
                                bang_double_equals: Span(
                                    6,
                                    16,
                                ),
                                right: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                6,
                                                20,
                                            ),
                                            name: "b",
                                        },
                                    ),
                                ),
                            },
                        ),
                    },
                ],
                right_parenthesis: Span(
                    6,
                    22,
                ),
            },
        },
        ending: Semicolon(
            Span(
                6,
                23,
            ),
        ),
    },
    Expression {
        expression: FunctionCall {
            target: Identifier(
                SimpleIdentifier(
                    SimpleIdentifier {
                        span: Span(
                            7,
                            1,
                        ),
                        value: "define",
                    },
                ),
            ),
            arguments: ArgumentList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span(
                    7,
                    7,
                ),
                arguments: [
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: Literal(
                            String(
                                LiteralString {
                                    value: "a",
                                    span: Span(
                                        7,
                                        8,
                                    ),
                                },
                            ),
                        ),
                    },
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: ArithmeticOperation(
                            Addition {
                                left: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                7,
                                                13,
                                            ),
                                            name: "a",
                                        },
                                    ),
                                ),
                                plus: Span(
                                    7,
                                    16,
                                ),
                                right: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                7,
                                                18,
                                            ),
                                            name: "b",
                                        },
                                    ),
                                ),
                            },
                        ),
                    },
                ],
                right_parenthesis: Span(
                    7,
                    20,
                ),
            },
        },
        ending: Semicolon(
            Span(
                7,
                21,
            ),
        ),
    },
    Expression {
        expression: FunctionCall {
            target: Identifier(
                SimpleIdentifier(
                    SimpleIdentifier {
                        span: Span(
                            8,
                            1,
                        ),
                        value: "define",
                    },
                ),
            ),
            arguments: ArgumentList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span(
                    8,
                    7,
                ),
                arguments: [
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: Literal(
                            String(
                                LiteralString {
                                    value: "a",
                                    span: Span(
                                        8,
                                        8,
                                    ),
                                },
                            ),
                        ),
                    },
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: ArithmeticOperation(
                            Subtraction {
                                left: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                8,
                                                13,
                                            ),
                                            name: "a",
                                        },
                                    ),
                                ),
                                minus: Span(
                                    8,
                                    16,
                                ),
                                right: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                8,
                                                18,
                                            ),
                                            name: "b",
                                        },
                                    ),
                                ),
                            },
                        ),
                    },
                ],
                right_parenthesis: Span(
                    8,
                    20,
                ),
            },
        },
        ending: Semicolon(
            Span(
                8,
                21,
            ),
        ),
    },
    Expression {
        expression: FunctionCall {
            target: Identifier(
                SimpleIdentifier(
                    SimpleIdentifier {
                        span: Span(
                            9,
                            1,
                        ),
                        value: "define",
                    },
                ),
            ),
            arguments: ArgumentList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span(
                    9,
                    7,
                ),
                arguments: [
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: Literal(
                            String(
                                LiteralString {
                                    value: "a",
                                    span: Span(
                                        9,
                                        8,
                                    ),
                                },
                            ),
                        ),
                    },
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: ArithmeticOperation(
                            Division {
                                left: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                9,
                                                13,
                                            ),
                                            name: "a",
                                        },
                                    ),
                                ),
                                slash: Span(
                                    9,
                                    16,
                                ),
                                right: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                9,
                                                18,
                                            ),
                                            name: "b",
                                        },
                                    ),
                                ),
                            },
                        ),
                    },
                ],
                right_parenthesis: Span(
                    9,
                    20,
                ),
            },
        },
        ending: Semicolon(
            Span(
                9,
                21,
            ),
        ),
    },
    Expression {
        expression: FunctionCall {
            target: Identifier(
                SimpleIdentifier(
                    SimpleIdentifier {
                        span: Span(
                            10,
                            1,
                        ),
                        value: "define",
                    },
                ),
            ),
            arguments: ArgumentList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span(
                    10,
                    7,
                ),
                arguments: [
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: Literal(
                            String(
                                LiteralString {
                                    value: "a",
                                    span: Span(
                                        10,
                                        8,
                                    ),
                                },
                            ),
                        ),
                    },
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: BitwiseOperation(
                            Xor {
                                left: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                10,
                                                13,
                                            ),
                                            name: "a",
                                        },
                                    ),
                                ),
                                span: Span(
                                    10,
                                    16,
                                ),
                                right: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                10,
                                                18,
                                            ),
                                            name: "b",
                                        },
                                    ),
                                ),
                            },
                        ),
                    },
                ],
                right_parenthesis: Span(
                    10,
                    20,
                ),
            },
        },
        ending: Semicolon(
            Span(
                10,
                21,
            ),
        ),
    },
    Expression {
        expression: FunctionCall {
            target: Identifier(
                SimpleIdentifier(
                    SimpleIdentifier {
                        span: Span(
                            11,
                            1,
                        ),
                        value: "define",
                    },
                ),
            ),
            arguments: ArgumentList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span(
                    11,
                    7,
                ),
                arguments: [
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: Literal(
                            String(
                                LiteralString {
                                    value: "a",
                                    span: Span(
                                        11,
                                        8,
                                    ),
                                },
                            ),
                        ),
                    },
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: ArithmeticOperation(
                            Multiplication {
                                left: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                11,
                                                13,
                                            ),
                                            name: "a",
                                        },
                                    ),
                                ),
                                asterisk: Span(
                                    11,
                                    16,
                                ),
                                right: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                11,
                                                18,
                                            ),
                                            name: "b",
                                        },
                                    ),
                                ),
                            },
                        ),
                    },
                ],
                right_parenthesis: Span(
                    11,
                    20,
                ),
            },
        },
        ending: Semicolon(
            Span(
                11,
                21,
            ),
        ),
    },
    Expression {
        expression: FunctionCall {
            target: Identifier(
                SimpleIdentifier(
                    SimpleIdentifier {
                        span: Span(
                            12,
                            1,
                        ),
                        value: "define",
                    },
                ),
            ),
            arguments: ArgumentList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span(
                    12,
                    7,
                ),
                arguments: [
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: Literal(
                            String(
                                LiteralString {
                                    value: "a",
                                    span: Span(
                                        12,
                                        8,
                                    ),
                                },
                            ),
                        ),
                    },
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: BitwiseOperation(
                            RightShift {
                                left: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                12,
                                                13,
                                            ),
                                            name: "a",
                                        },
                                    ),
                                ),
                                span: Span(
                                    12,
                                    16,
                                ),
                                right: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                12,
                                                19,
                                            ),
                                            name: "b",
                                        },
                                    ),
                                ),
                            },
                        ),
                    },
                ],
                right_parenthesis: Span(
                    12,
                    21,
                ),
            },
        },
        ending: Semicolon(
            Span(
                12,
                22,
            ),
        ),
    },
    Expression {
        expression: FunctionCall {
            target: Identifier(
                SimpleIdentifier(
                    SimpleIdentifier {
                        span: Span(
                            13,
                            1,
                        ),
                        value: "define",
                    },
                ),
            ),
            arguments: ArgumentList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span(
                    13,
                    7,
                ),
                arguments: [
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: Literal(
                            String(
                                LiteralString {
                                    value: "a",
                                    span: Span(
                                        13,
                                        8,
                                    ),
                                },
                            ),
                        ),
                    },
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: BitwiseOperation(
                            LeftShift {
                                left: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                13,
                                                13,
                                            ),
                                            name: "a",
                                        },
                                    ),
                                ),
                                span: Span(
                                    13,
                                    16,
                                ),
                                right: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                13,
                                                19,
                                            ),
                                            name: "b",
                                        },
                                    ),
                                ),
                            },
                        ),
                    },
                ],
                right_parenthesis: Span(
                    13,
                    21,
                ),
            },
        },
        ending: Semicolon(
            Span(
                13,
                22,
            ),
        ),
    },
    Expression {
        expression: FunctionCall {
            target: Identifier(
                SimpleIdentifier(
                    SimpleIdentifier {
                        span: Span(
                            14,
                            1,
                        ),
                        value: "define",
                    },
                ),
            ),
            arguments: ArgumentList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span(
                    14,
                    7,
                ),
                arguments: [
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: Literal(
                            String(
                                LiteralString {
                                    value: "a",
                                    span: Span(
                                        14,
                                        8,
                                    ),
                                },
                            ),
                        ),
                    },
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: BitwiseOperation(
                            Or {
                                left: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                14,
                                                13,
                                            ),
                                            name: "a",
                                        },
                                    ),
                                ),
                                span: Span(
                                    14,
                                    16,
                                ),
                                right: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                14,
                                                18,
                                            ),
                                            name: "b",
                                        },
                                    ),
                                ),
                            },
                        ),
                    },
                ],
                right_parenthesis: Span(
                    14,
                    20,
                ),
            },
        },
        ending: Semicolon(
            Span(
                14,
                21,
            ),
        ),
    },
    Expression {
        expression: FunctionCall {
            target: Identifier(
                SimpleIdentifier(
                    SimpleIdentifier {
                        span: Span(
                            15,
                            1,
                        ),
                        value: "define",
                    },
                ),
            ),
            arguments: ArgumentList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span(
                    15,
                    7,
                ),
                arguments: [
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: Literal(
                            String(
                                LiteralString {
                                    value: "a",
                                    span: Span(
                                        15,
                                        8,
                                    ),
                                },
                            ),
                        ),
                    },
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: BitwiseOperation(
                            And {
                                left: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                15,
                                                13,
                                            ),
                                            name: "a",
                                        },
                                    ),
                                ),
                                span: Span(
                                    15,
                                    16,
                                ),
                                right: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                15,
                                                18,
                                            ),
                                            name: "b",
                                        },
                                    ),
                                ),
                            },
                        ),
                    },
                ],
                right_parenthesis: Span(
                    15,
                    20,
                ),
            },
        },
        ending: Semicolon(
            Span(
                15,
                21,
            ),
        ),
    },
    Expression {
        expression: FunctionCall {
            target: Identifier(
                SimpleIdentifier(
                    SimpleIdentifier {
                        span: Span(
                            16,
                            1,
                        ),
                        value: "define",
                    },
                ),
            ),
            arguments: ArgumentList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span(
                    16,
                    7,
                ),
                arguments: [
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: Literal(
                            String(
                                LiteralString {
                                    value: "a",
                                    span: Span(
                                        16,
                                        8,
                                    ),
                                },
                            ),
                        ),
                    },
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: BitwiseOperation(
                            Not {
                                span: Span(
                                    16,
                                    13,
                                ),
                                right: Variable(
                                    SimpleVariable(
                                        SimpleVariable {
                                            span: Span(
                                                16,
                                                14,
                                            ),
                                            name: "b",
                                        },
                                    ),
                                ),
                            },
                        ),
                    },
                ],
                right_parenthesis: Span(
                    16,
                    16,
                ),
            },
        },
        ending: Semicolon(
            Span(
                16,
                17,
            ),
        ),
    },
    Echo {
        echo: Span(
            18,
            1,
        ),
        values: [
            ArithmeticOperation(
                Subtraction {
                    left: ArithmeticOperation(
                        Addition {
                            left: Variable(
                                SimpleVariable(
                                    SimpleVariable {
                                        span: Span(
                                            18,
                                            6,
                                        ),
                                        name: "a",
                                    },
                                ),
                            ),
                            plus: Span(
                                18,
                                9,
                            ),
                            right: ArithmeticOperation(
                                Division {
                                    left: ArithmeticOperation(
                                        Multiplication {
                                            left: Variable(
                                                SimpleVariable(
                                                    SimpleVariable {
                                                        span: Span(
                                                            18,
                                                            11,
                                                        ),
                                                        name: "b",
                                                    },
                                                ),
                                            ),
                                            asterisk: Span(
                                                18,
                                                14,
                                            ),
                                            right: Variable(
                                                SimpleVariable(
                                                    SimpleVariable {
                                                        span: Span(
                                                            18,
                                                            16,
                                                        ),
                                                        name: "c",
                                                    },
                                                ),
                                            ),
                                        },
                                    ),
                                    slash: Span(
                                        18,
                                        19,
                                    ),
                                    right: Variable(
                                        SimpleVariable(
                                            SimpleVariable {
                                                span: Span(
                                                    18,
                                                    21,
                                                ),
                                                name: "d",
                                            },
                                        ),
                                    ),
                                },
                            ),
                        },
                    ),
                    minus: Span(
                        18,
                        24,
                    ),
                    right: Variable(
                        BracedVariableVariable(
                            BracedVariableVariable {
                                start: Span(
                                    18,
                                    26,
                                ),
                                variable: Ternary {
                                    condition: Concat {
                                        left: Literal(
                                            String(
                                                LiteralString {
                                                    value: "foo",
                                                    span: Span(
                                                        18,
                                                        28,
                                                    ),
                                                },
                                            ),
                                        ),
                                        span: Span(
                                            18,
                                            34,
                                        ),
                                        right: Variable(
                                            SimpleVariable(
                                                SimpleVariable {
                                                    span: Span(
                                                        18,
                                                        36,
                                                    ),
                                                    name: "c",
                                                },
                                            ),
                                        ),
                                    },
                                    question: Span(
                                        18,
                                        39,
                                    ),
                                    then: Literal(
                                        Integer(
                                            LiteralInteger {
                                                value: "4",
                                                span: Span(
                                                    18,
                                                    41,
                                                ),
                                            },
                                        ),
                                    ),
                                    colon: Span(
                                        18,
                                        43,
                                    ),
                                    else: Literal(
                                        Integer(
                                            LiteralInteger {
                                                value: "3",
                                                span: Span(
                                                    18,
                                                    45,
                                                ),
                                            },
                                        ),
                                    ),
                                },
                                end: Span(
                                    18,
                                    46,
                                ),
                            },
                        ),
                    ),
                },
            ),
        ],
        ending: Semicolon(
            Span(
                18,
                47,
            ),
        ),
    },
]
