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

186 lines
4.4 KiB
Plaintext
Raw Normal View History

2023-10-31 19:21:13 +00:00
================================================================================
Simple Function
2023-10-31 19:21:13 +00:00
================================================================================
2023-12-05 21:42:11 +00:00
fn || { "Hiya" }
2023-10-31 19:21:13 +00:00
--------------------------------------------------------------------------------
(root
2023-11-11 01:44:03 +00:00
(statement
2023-12-02 03:54:25 +00:00
(expression
(value
(function
(block
(statement
(expression
(value
(string))))))))))
================================================================================
Function Assignment
================================================================================
2023-12-05 21:42:11 +00:00
foobar <(str) -> str> = fn |text| { text }
2023-12-02 03:54:25 +00:00
--------------------------------------------------------------------------------
(root
(statement
(assignment
2023-11-11 01:44:03 +00:00
(identifier)
2023-12-05 21:42:11 +00:00
(type_definition
(type
(type)
(type)))
2023-12-02 03:54:25 +00:00
(assignment_operator)
(statement
(expression
(value
(function
(identifier)
(block
(statement
(expression
(identifier)))))))))))
2023-10-31 22:18:39 +00:00
2023-10-31 19:21:13 +00:00
================================================================================
Function Call
2023-10-31 19:21:13 +00:00
================================================================================
(foobar "Hiya")
2023-10-31 19:21:13 +00:00
--------------------------------------------------------------------------------
(root
2023-11-11 01:44:03 +00:00
(statement
(expression
(function_call
2023-12-02 07:34:23 +00:00
(expression
(identifier))
2023-11-11 01:44:03 +00:00
(expression
(value
(string)))))))
2023-10-31 19:21:13 +00:00
================================================================================
Complex Function
2023-10-31 19:21:13 +00:00
================================================================================
2023-12-05 21:42:11 +00:00
fn |message number| {
(output message)
(output number)
}
2023-10-31 19:21:13 +00:00
--------------------------------------------------------------------------------
(root
2023-11-11 01:44:03 +00:00
(statement
2023-12-02 03:54:25 +00:00
(expression
(value
(function
(identifier)
(identifier)
(block
(statement
(expression
(function_call
2023-12-02 07:34:23 +00:00
(expression
(identifier))
2023-12-02 03:54:25 +00:00
(expression
(identifier)))))
(statement
(expression
(function_call
2023-12-02 07:34:23 +00:00
(expression
(identifier))
2023-12-02 03:54:25 +00:00
(expression
(identifier)))))))))))
2023-10-31 19:21:13 +00:00
================================================================================
Complex Function Call
2023-10-31 19:21:13 +00:00
================================================================================
(foobar
"hi"
42
2023-11-28 16:01:38 +00:00
{
x = 1
y = 2
2023-11-28 16:01:38 +00:00
}
)
2023-10-31 19:21:13 +00:00
--------------------------------------------------------------------------------
(root
2023-11-11 01:44:03 +00:00
(statement
(expression
(function_call
2023-12-02 07:34:23 +00:00
(expression
(identifier))
2023-11-11 01:44:03 +00:00
(expression
(value
(string)))
(expression
(value
(integer)))
(expression
(value
(map
(identifier)
(statement
(expression
(value
(integer))))
(identifier)
(statement
(expression
(value
(integer)))))))))))
2023-12-05 21:42:11 +00:00
================================================================================
Callback Function
================================================================================
foobar <(() -> str) -> str> = fn |cb| {
(cb)
}
(foobar fn || { 'Hiya' })
--------------------------------------------------------------------------------
(root
(statement
(assignment
(identifier)
(type_definition
(type
(type
(type))
(type)))
(assignment_operator)
(statement
(expression
(value
(function
(identifier)
(block
(statement
(expression
(function_call
(expression
(identifier))))))))))))
(statement
(expression
(function_call
(expression
(identifier))
(expression
(value
(function
(block
(statement
(expression
(value
(string))))))))))))