dust/tree-sitter-dust/corpus/functions.txt

226 lines
5.7 KiB
Plaintext

================================================================================
Anonymous Function
================================================================================
() <str> { "Hiya" }
--------------------------------------------------------------------------------
(root
(statement
(expression
(value
(function
(type_definition
(type))
(block
(statement
(expression
(value
(string))))))))))
================================================================================
Function Assignment
================================================================================
foobar = (x <int>, y <int>) <int> {
x + y
}
--------------------------------------------------------------------------------
(root
(statement
(assignment
(identifier)
(assignment_operator)
(statement
(expression
(value
(function
(identifier)
(type_definition
(type))
(identifier)
(type_definition
(type))
(type_definition
(type))
(block
(statement
(expression
(math
(expression
(identifier))
(math_operator)
(expression
(identifier)))))))))))))
================================================================================
Identifier Function Call
================================================================================
foobar("Hiya")
--------------------------------------------------------------------------------
(root
(statement
(expression
(function_call
(function_expression
(identifier))
(expression
(value
(string)))))))
================================================================================
Index Function Call
================================================================================
foo:bar("Hiya")
--------------------------------------------------------------------------------
(root
(statement
(expression
(function_call
(function_expression
(index
(index_expression
(identifier))
(index_expression
(identifier))))
(expression
(value
(string)))))))
================================================================================
Double Function Call
================================================================================
foobar()("Hiya")
--------------------------------------------------------------------------------
(root
(statement
(expression
(function_call
(function_expression
(function_call
(function_expression
(identifier))))
(expression
(value
(string)))))))
================================================================================
Anonymous Function Call
================================================================================
(msg <str>) <str> { msg } ("Hiya");
--------------------------------------------------------------------------------
(root
(statement
(expression
(function_call
(function_expression
(value
(function
(identifier)
(type_definition
(type))
(type_definition
(type))
(block
(statement
(expression
(identifier)))))))
(expression
(value
(string)))))))
================================================================================
Complex Function Call
================================================================================
foobar(
"hi"
42
Baz:new()
)
--------------------------------------------------------------------------------
(root
(statement
(expression
(function_call
(function_expression
(identifier))
(expression
(value
(string)))
(expression
(value
(integer)))
(expression
(function_call
(function_expression
(index
(index_expression
(identifier))
(index_expression
(identifier))))))))))
================================================================================
Callback Function Call
================================================================================
x(() <bool> { true })
--------------------------------------------------------------------------------
(root
(statement
(expression
(function_call
(function_expression
(identifier))
(expression
(value
(function
(type_definition
(type))
(block
(statement
(expression
(value
(boolean))))))))))))
================================================================================
Nested Function Call
================================================================================
from_json(read('file.json'))
--------------------------------------------------------------------------------
(root
(statement
(expression
(function_call
(function_expression
(identifier))
(expression
(function_call
(function_expression
(identifier))
(expression
(value
(string)))))))))