DefinitionTree { definitions: [ Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 0, }, name: Identifier { position: 9, value: "pipe", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 13, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 14, }, return_type: FunctionLikeReturnTypeDefinition { colon: 15, type_definition: Void( Keyword { value: "void", position: 17, }, ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 22, statements: [ Expression( ExpressionStatement { comments: CommentGroup { comments: [], }, expression: AssignmentOperation( Assignment { comments: CommentGroup { comments: [], }, left: Variable( Variable { position: 28, name: "$f1", }, ), equals: 32, right: FunctionalOperation( Pipe { comments: CommentGroup { comments: [], }, left: Variable( Variable { position: 34, name: "$a1", }, ), pipe: 38, greater_than: 39, right: Variable( Variable { position: 41, name: "$b1", }, ), }, ), }, ), semicolon: 44, }, ), Expression( ExpressionStatement { comments: CommentGroup { comments: [], }, expression: AssignmentOperation( Assignment { comments: CommentGroup { comments: [], }, left: Variable( Variable { position: 55, name: "$f2", }, ), equals: 59, right: FunctionalOperation( Pipe { comments: CommentGroup { comments: [], }, left: FunctionalOperation( Pipe { comments: CommentGroup { comments: [], }, left: Variable( Variable { position: 61, name: "$a2", }, ), pipe: 65, greater_than: 66, right: Variable( Variable { position: 68, name: "$b2", }, ), }, ), pipe: 72, greater_than: 73, right: Variable( Variable { position: 75, name: "$c2", }, ), }, ), }, ), semicolon: 78, }, ), Expression( ExpressionStatement { comments: CommentGroup { comments: [], }, expression: AssignmentOperation( Assignment { comments: CommentGroup { comments: [], }, left: Variable( Variable { position: 89, name: "$f3", }, ), equals: 93, right: FunctionalOperation( Pipe { comments: CommentGroup { comments: [], }, left: FunctionalOperation( Pipe { comments: CommentGroup { comments: [], }, left: FunctionalOperation( Pipe { comments: CommentGroup { comments: [], }, left: Variable( Variable { position: 95, name: "$a3", }, ), pipe: 99, greater_than: 100, right: Variable( Variable { position: 102, name: "$b3", }, ), }, ), pipe: 106, greater_than: 107, right: Variable( Variable { position: 109, name: "$c3", }, ), }, ), pipe: 113, greater_than: 114, right: Variable( Variable { position: 116, name: "$d3", }, ), }, ), }, ), semicolon: 119, }, ), Expression( ExpressionStatement { comments: CommentGroup { comments: [], }, expression: AssignmentOperation( Assignment { comments: CommentGroup { comments: [], }, left: Variable( Variable { position: 130, name: "$f4", }, ), equals: 134, right: FunctionalOperation( Pipe { comments: CommentGroup { comments: [], }, left: FunctionalOperation( Pipe { comments: CommentGroup { comments: [], }, left: FunctionOperation( ClosureCreation { comments: CommentGroup { comments: [], }, function: Identifier( Identifier { position: 136, value: "f1", }, ), generics: None, placeholder: ArgumentPlaceholderExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 138, ellipsis: 139, right_parenthesis: 142, }, }, ), pipe: 144, greater_than: 145, right: FunctionOperation( ClosureCreation { comments: CommentGroup { comments: [], }, function: Identifier( Identifier { position: 147, value: "f2", }, ), generics: None, placeholder: ArgumentPlaceholderExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 149, ellipsis: 150, right_parenthesis: 153, }, }, ), }, ), pipe: 155, greater_than: 156, right: FunctionOperation( ClosureCreation { comments: CommentGroup { comments: [], }, function: Identifier( Identifier { position: 158, value: "f3", }, ), generics: None, placeholder: ArgumentPlaceholderExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 160, ellipsis: 161, right_parenthesis: 164, }, }, ), }, ), }, ), semicolon: 165, }, ), ], right_brace: 167, }, }, ), ], eof: 169, }