================================================================================ Simple Function ================================================================================ || { "Hiya" } -------------------------------------------------------------------------------- (root (statement (expression (value (function (type) (block (statement (expression (value (string)))))))))) ================================================================================ Function Assignment ================================================================================ x = || { "Hiya" } -------------------------------------------------------------------------------- (root (statement (assignment (identifier) (assignment_operator) (statement (expression (value (function (type) (block (statement (expression (value (string)))))))))))) ================================================================================ Function Call ================================================================================ (foobar "Hiya") -------------------------------------------------------------------------------- (root (statement (expression (function_call (expression (identifier)) (expression (value (string))))))) ================================================================================ Complex Function ================================================================================ |message number | { (output message) (output number) } -------------------------------------------------------------------------------- (root (statement (expression (value (function (parameter (identifier) (type)) (parameter (identifier) (type)) (block (statement (expression (function_call (built_in_function (expression (identifier)))))) (statement (expression (function_call (built_in_function (expression (identifier)))))))))))) ================================================================================ Complex Function Call ================================================================================ (foobar "hi" 42 map { x = 1 y = 2 } ) -------------------------------------------------------------------------------- (root (statement (expression (function_call (expression (identifier)) (expression (value (string))) (expression (value (integer))) (expression (value (map (identifier) (statement (expression (value (integer)))) (identifier) (statement (expression (value (integer)))))))))))