[ FullOpeningTag( FullOpeningTagStatement { span: Span { line: 1, column: 1, position: 0, }, }, ), Expression( ExpressionStatement { expression: FunctionCall( FunctionCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 3, column: 1, position: 7, }, value: "define", }, ), ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 3, column: 7, position: 13, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Literal( String( LiteralString { value: "a", span: Span { line: 3, column: 8, position: 14, }, kind: SingleQuoted, }, ), ), }, ), Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Parenthesized( ParenthesizedExpression { start: Span { line: 3, column: 13, position: 19, }, expr: ComparisonOperation( Equal { left: Variable( SimpleVariable( SimpleVariable { span: Span { line: 3, column: 14, position: 20, }, name: "$a", }, ), ), double_equals: Span { line: 3, column: 17, position: 23, }, right: Variable( SimpleVariable( SimpleVariable { span: Span { line: 3, column: 20, position: 26, }, name: "$b", }, ), ), }, ), end: Span { line: 3, column: 22, position: 28, }, }, ), }, ), ], right_parenthesis: Span { line: 3, column: 23, position: 29, }, }, }, ), ending: Semicolon( Span { line: 3, column: 24, position: 30, }, ), }, ), Expression( ExpressionStatement { expression: FunctionCall( FunctionCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 4, column: 1, position: 32, }, value: "define", }, ), ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 4, column: 7, position: 38, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Literal( String( LiteralString { value: "a", span: Span { line: 4, column: 8, position: 39, }, kind: SingleQuoted, }, ), ), }, ), Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Parenthesized( ParenthesizedExpression { start: Span { line: 4, column: 13, position: 44, }, expr: ComparisonOperation( Identical { left: Variable( SimpleVariable( SimpleVariable { span: Span { line: 4, column: 14, position: 45, }, name: "$a", }, ), ), triple_equals: Span { line: 4, column: 17, position: 48, }, right: Variable( SimpleVariable( SimpleVariable { span: Span { line: 4, column: 21, position: 52, }, name: "$b", }, ), ), }, ), end: Span { line: 4, column: 23, position: 54, }, }, ), }, ), ], right_parenthesis: Span { line: 4, column: 24, position: 55, }, }, }, ), ending: Semicolon( Span { line: 4, column: 25, position: 56, }, ), }, ), Expression( ExpressionStatement { expression: FunctionCall( FunctionCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 5, column: 1, position: 58, }, value: "define", }, ), ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 5, column: 7, position: 64, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Literal( String( LiteralString { value: "a", span: Span { line: 5, column: 8, position: 65, }, kind: SingleQuoted, }, ), ), }, ), Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Parenthesized( ParenthesizedExpression { start: Span { line: 5, column: 13, position: 70, }, expr: ComparisonOperation( NotEqual { left: Variable( SimpleVariable( SimpleVariable { span: Span { line: 5, column: 14, position: 71, }, name: "$a", }, ), ), bang_equals: Span { line: 5, column: 17, position: 74, }, right: Variable( SimpleVariable( SimpleVariable { span: Span { line: 5, column: 20, position: 77, }, name: "$b", }, ), ), }, ), end: Span { line: 5, column: 22, position: 79, }, }, ), }, ), ], right_parenthesis: Span { line: 5, column: 23, position: 80, }, }, }, ), ending: Semicolon( Span { line: 5, column: 24, position: 81, }, ), }, ), Expression( ExpressionStatement { expression: FunctionCall( FunctionCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 6, column: 1, position: 83, }, value: "define", }, ), ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 6, column: 7, position: 89, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Literal( String( LiteralString { value: "a", span: Span { line: 6, column: 8, position: 90, }, kind: SingleQuoted, }, ), ), }, ), Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Parenthesized( ParenthesizedExpression { start: Span { line: 6, column: 13, position: 95, }, expr: ComparisonOperation( NotIdentical { left: Variable( SimpleVariable( SimpleVariable { span: Span { line: 6, column: 14, position: 96, }, name: "$a", }, ), ), bang_double_equals: Span { line: 6, column: 17, position: 99, }, right: Variable( SimpleVariable( SimpleVariable { span: Span { line: 6, column: 21, position: 103, }, name: "$b", }, ), ), }, ), end: Span { line: 6, column: 23, position: 105, }, }, ), }, ), ], right_parenthesis: Span { line: 6, column: 24, position: 106, }, }, }, ), ending: Semicolon( Span { line: 6, column: 25, position: 107, }, ), }, ), Expression( ExpressionStatement { expression: FunctionCall( FunctionCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 7, column: 1, position: 109, }, value: "define", }, ), ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 7, column: 7, position: 115, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Literal( String( LiteralString { value: "a", span: Span { line: 7, column: 8, position: 116, }, kind: SingleQuoted, }, ), ), }, ), Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Parenthesized( ParenthesizedExpression { start: Span { line: 7, column: 13, position: 121, }, expr: ArithmeticOperation( Addition { left: Variable( SimpleVariable( SimpleVariable { span: Span { line: 7, column: 14, position: 122, }, name: "$a", }, ), ), plus: Span { line: 7, column: 17, position: 125, }, right: Variable( SimpleVariable( SimpleVariable { span: Span { line: 7, column: 19, position: 127, }, name: "$b", }, ), ), }, ), end: Span { line: 7, column: 21, position: 129, }, }, ), }, ), ], right_parenthesis: Span { line: 7, column: 22, position: 130, }, }, }, ), ending: Semicolon( Span { line: 7, column: 23, position: 131, }, ), }, ), Expression( ExpressionStatement { expression: FunctionCall( FunctionCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 8, column: 1, position: 133, }, value: "define", }, ), ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 8, column: 7, position: 139, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Literal( String( LiteralString { value: "a", span: Span { line: 8, column: 8, position: 140, }, kind: SingleQuoted, }, ), ), }, ), Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Parenthesized( ParenthesizedExpression { start: Span { line: 8, column: 13, position: 145, }, expr: ArithmeticOperation( Subtraction { left: Variable( SimpleVariable( SimpleVariable { span: Span { line: 8, column: 14, position: 146, }, name: "$a", }, ), ), minus: Span { line: 8, column: 17, position: 149, }, right: Variable( SimpleVariable( SimpleVariable { span: Span { line: 8, column: 19, position: 151, }, name: "$b", }, ), ), }, ), end: Span { line: 8, column: 21, position: 153, }, }, ), }, ), ], right_parenthesis: Span { line: 8, column: 22, position: 154, }, }, }, ), ending: Semicolon( Span { line: 8, column: 23, position: 155, }, ), }, ), Expression( ExpressionStatement { expression: FunctionCall( FunctionCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 9, column: 1, position: 157, }, value: "define", }, ), ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 9, column: 7, position: 163, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Literal( String( LiteralString { value: "a", span: Span { line: 9, column: 8, position: 164, }, kind: SingleQuoted, }, ), ), }, ), Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Parenthesized( ParenthesizedExpression { start: Span { line: 9, column: 13, position: 169, }, expr: ArithmeticOperation( Division { left: Variable( SimpleVariable( SimpleVariable { span: Span { line: 9, column: 14, position: 170, }, name: "$a", }, ), ), slash: Span { line: 9, column: 17, position: 173, }, right: Variable( SimpleVariable( SimpleVariable { span: Span { line: 9, column: 19, position: 175, }, name: "$b", }, ), ), }, ), end: Span { line: 9, column: 21, position: 177, }, }, ), }, ), ], right_parenthesis: Span { line: 9, column: 22, position: 178, }, }, }, ), ending: Semicolon( Span { line: 9, column: 23, position: 179, }, ), }, ), Expression( ExpressionStatement { expression: FunctionCall( FunctionCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 10, column: 1, position: 181, }, value: "define", }, ), ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 10, column: 7, position: 187, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Literal( String( LiteralString { value: "a", span: Span { line: 10, column: 8, position: 188, }, kind: SingleQuoted, }, ), ), }, ), Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Parenthesized( ParenthesizedExpression { start: Span { line: 10, column: 13, position: 193, }, expr: BitwiseOperation( Xor { left: Variable( SimpleVariable( SimpleVariable { span: Span { line: 10, column: 14, position: 194, }, name: "$a", }, ), ), xor: Span { line: 10, column: 17, position: 197, }, right: Variable( SimpleVariable( SimpleVariable { span: Span { line: 10, column: 19, position: 199, }, name: "$b", }, ), ), }, ), end: Span { line: 10, column: 21, position: 201, }, }, ), }, ), ], right_parenthesis: Span { line: 10, column: 22, position: 202, }, }, }, ), ending: Semicolon( Span { line: 10, column: 23, position: 203, }, ), }, ), Expression( ExpressionStatement { expression: FunctionCall( FunctionCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 11, column: 1, position: 205, }, value: "define", }, ), ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 11, column: 7, position: 211, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Literal( String( LiteralString { value: "a", span: Span { line: 11, column: 8, position: 212, }, kind: SingleQuoted, }, ), ), }, ), Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Parenthesized( ParenthesizedExpression { start: Span { line: 11, column: 13, position: 217, }, expr: ArithmeticOperation( Multiplication { left: Variable( SimpleVariable( SimpleVariable { span: Span { line: 11, column: 14, position: 218, }, name: "$a", }, ), ), asterisk: Span { line: 11, column: 17, position: 221, }, right: Variable( SimpleVariable( SimpleVariable { span: Span { line: 11, column: 19, position: 223, }, name: "$b", }, ), ), }, ), end: Span { line: 11, column: 21, position: 225, }, }, ), }, ), ], right_parenthesis: Span { line: 11, column: 22, position: 226, }, }, }, ), ending: Semicolon( Span { line: 11, column: 23, position: 227, }, ), }, ), Expression( ExpressionStatement { expression: FunctionCall( FunctionCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 12, column: 1, position: 229, }, value: "define", }, ), ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 12, column: 7, position: 235, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Literal( String( LiteralString { value: "a", span: Span { line: 12, column: 8, position: 236, }, kind: SingleQuoted, }, ), ), }, ), Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Parenthesized( ParenthesizedExpression { start: Span { line: 12, column: 13, position: 241, }, expr: BitwiseOperation( RightShift { left: Variable( SimpleVariable( SimpleVariable { span: Span { line: 12, column: 14, position: 242, }, name: "$a", }, ), ), right_shift: Span { line: 12, column: 17, position: 245, }, right: Variable( SimpleVariable( SimpleVariable { span: Span { line: 12, column: 20, position: 248, }, name: "$b", }, ), ), }, ), end: Span { line: 12, column: 22, position: 250, }, }, ), }, ), ], right_parenthesis: Span { line: 12, column: 23, position: 251, }, }, }, ), ending: Semicolon( Span { line: 12, column: 24, position: 252, }, ), }, ), Expression( ExpressionStatement { expression: FunctionCall( FunctionCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 13, column: 1, position: 254, }, value: "define", }, ), ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 13, column: 7, position: 260, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Literal( String( LiteralString { value: "a", span: Span { line: 13, column: 8, position: 261, }, kind: SingleQuoted, }, ), ), }, ), Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Parenthesized( ParenthesizedExpression { start: Span { line: 13, column: 13, position: 266, }, expr: BitwiseOperation( LeftShift { left: Variable( SimpleVariable( SimpleVariable { span: Span { line: 13, column: 14, position: 267, }, name: "$a", }, ), ), left_shift: Span { line: 13, column: 17, position: 270, }, right: Variable( SimpleVariable( SimpleVariable { span: Span { line: 13, column: 20, position: 273, }, name: "$b", }, ), ), }, ), end: Span { line: 13, column: 22, position: 275, }, }, ), }, ), ], right_parenthesis: Span { line: 13, column: 23, position: 276, }, }, }, ), ending: Semicolon( Span { line: 13, column: 24, position: 277, }, ), }, ), Expression( ExpressionStatement { expression: FunctionCall( FunctionCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 14, column: 1, position: 279, }, value: "define", }, ), ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 14, column: 7, position: 285, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Literal( String( LiteralString { value: "a", span: Span { line: 14, column: 8, position: 286, }, kind: SingleQuoted, }, ), ), }, ), Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Parenthesized( ParenthesizedExpression { start: Span { line: 14, column: 13, position: 291, }, expr: BitwiseOperation( Or { left: Variable( SimpleVariable( SimpleVariable { span: Span { line: 14, column: 14, position: 292, }, name: "$a", }, ), ), or: Span { line: 14, column: 17, position: 295, }, right: Variable( SimpleVariable( SimpleVariable { span: Span { line: 14, column: 19, position: 297, }, name: "$b", }, ), ), }, ), end: Span { line: 14, column: 21, position: 299, }, }, ), }, ), ], right_parenthesis: Span { line: 14, column: 22, position: 300, }, }, }, ), ending: Semicolon( Span { line: 14, column: 23, position: 301, }, ), }, ), Expression( ExpressionStatement { expression: FunctionCall( FunctionCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 15, column: 1, position: 303, }, value: "define", }, ), ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 15, column: 7, position: 309, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Literal( String( LiteralString { value: "a", span: Span { line: 15, column: 8, position: 310, }, kind: SingleQuoted, }, ), ), }, ), Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Parenthesized( ParenthesizedExpression { start: Span { line: 15, column: 13, position: 315, }, expr: BitwiseOperation( And { left: Variable( SimpleVariable( SimpleVariable { span: Span { line: 15, column: 14, position: 316, }, name: "$a", }, ), ), and: Span { line: 15, column: 17, position: 319, }, right: Variable( SimpleVariable( SimpleVariable { span: Span { line: 15, column: 19, position: 321, }, name: "$b", }, ), ), }, ), end: Span { line: 15, column: 21, position: 323, }, }, ), }, ), ], right_parenthesis: Span { line: 15, column: 22, position: 324, }, }, }, ), ending: Semicolon( Span { line: 15, column: 23, position: 325, }, ), }, ), Echo( EchoStatement { echo: Span { line: 17, column: 1, position: 328, }, values: [ ArithmeticOperation( Multiplication { left: Parenthesized( ParenthesizedExpression { start: Span { line: 17, column: 6, position: 333, }, expr: ArithmeticOperation( Addition { left: Variable( SimpleVariable( SimpleVariable { span: Span { line: 17, column: 7, position: 334, }, name: "$a", }, ), ), plus: Span { line: 17, column: 10, position: 337, }, right: Variable( SimpleVariable( SimpleVariable { span: Span { line: 17, column: 12, position: 339, }, name: "$b", }, ), ), }, ), end: Span { line: 17, column: 14, position: 341, }, }, ), asterisk: Span { line: 17, column: 16, position: 343, }, right: Parenthesized( ParenthesizedExpression { start: Span { line: 17, column: 18, position: 345, }, expr: ArithmeticOperation( Subtraction { left: ArithmeticOperation( Division { left: Variable( SimpleVariable( SimpleVariable { span: Span { line: 17, column: 19, position: 346, }, name: "$c", }, ), ), slash: Span { line: 17, column: 22, position: 349, }, right: Variable( SimpleVariable( SimpleVariable { span: Span { line: 17, column: 24, position: 351, }, name: "$d", }, ), ), }, ), minus: Span { line: 17, column: 27, position: 354, }, right: Variable( BracedVariableVariable( BracedVariableVariable { start: Span { line: 17, column: 29, position: 356, }, variable: Ternary( TernaryExpression { condition: Concat( ConcatExpression { left: Literal( String( LiteralString { value: "foo", span: Span { line: 17, column: 31, position: 358, }, kind: DoubleQuoted, }, ), ), dot: Span { line: 17, column: 37, position: 364, }, right: Variable( SimpleVariable( SimpleVariable { span: Span { line: 17, column: 39, position: 366, }, name: "$c", }, ), ), }, ), question: Span { line: 17, column: 42, position: 369, }, then: Literal( Integer( LiteralInteger { value: "4", span: Span { line: 17, column: 44, position: 371, }, }, ), ), colon: Span { line: 17, column: 46, position: 373, }, else: Literal( Integer( LiteralInteger { value: "3", span: Span { line: 17, column: 48, position: 375, }, }, ), ), }, ), end: Span { line: 17, column: 49, position: 376, }, }, ), ), }, ), end: Span { line: 17, column: 50, position: 377, }, }, ), }, ), ], ending: Semicolon( Span { line: 17, column: 51, position: 378, }, ), }, ), ]