~repos /plum

#treesitter#compiler#wasm

git clone https://pyrossh.dev/repos/plum.git

A statically typed, imperative programming language inspired by rust, python



tooling/tree-sitter-plum/test/corpus/assign.txt



================================================================================
assign
================================================================================
main() =
sum = 1 + {{2 * 3} / 4}
enabled = !False
open = {count > 10} && {enabled == True} || {debug == False}
countries_list = listOf("US", "INDIA", "CANADA")
list_ints = listOf(1, 2, 3)
nested_list_ints = listOf(listOf(1), listOf(2), listOf(3))
country_codes = mapOf(
"in" => "INDIA",
"us" => "United States",
"ca" => "Canada"
)
map_ints = mapOf("a" => 1, "b" => 2)
nested_map_ints = mapOf("a" => 1, "b" => mapOf("c" => 3, "d" => 4))
--------------------------------------------------------------------------------
(source
(fn
(fn_identifier)
(body
(assign
(var_identifier)
(expression
(primary_expression
(binary_operator
(primary_expression
(integer))
(primary_expression
(parenthesized_expression
(expression
(primary_expression
(binary_operator
(primary_expression
(parenthesized_expression
(expression
(primary_expression
(binary_operator
(primary_expression
(integer))
(primary_expression
(integer)))))))
(primary_expression
(integer)))))))))))
(assign
(var_identifier)
(expression
(not_operator
(expression
(primary_expression
(type_identifier))))))
(assign
(var_identifier)
(expression
(boolean_operator
(expression
(boolean_operator
(expression
(primary_expression
(parenthesized_expression
(expression
(comparison_operator
(primary_expression
(var_identifier))
(primary_expression
(integer)))))))
(expression
(primary_expression
(parenthesized_expression
(expression
(comparison_operator
(primary_expression
(var_identifier))
(primary_expression
(type_identifier)))))))))
(expression
(primary_expression
(parenthesized_expression
(expression
(comparison_operator
(primary_expression
(var_identifier))
(primary_expression
(type_identifier))))))))))
(assign
(var_identifier)
(expression
(primary_expression
(fn_call
(fn_identifier)
(argument_list
(expression
(primary_expression
(string
(string_start)
(string_content)
(string_end))))
(expression
(primary_expression
(string
(string_start)
(string_content)
(string_end))))
(expression
(primary_expression
(string
(string_start)
(string_content)
(string_end)))))))))
(assign
(var_identifier)
(expression
(primary_expression
(fn_call
(fn_identifier)
(argument_list
(expression
(primary_expression
(integer)))
(expression
(primary_expression
(integer)))
(expression
(primary_expression
(integer))))))))
(assign
(var_identifier)
(expression
(primary_expression
(fn_call
(fn_identifier)
(argument_list
(expression
(primary_expression
(fn_call
(fn_identifier)
(argument_list
(expression
(primary_expression
(integer)))))))
(expression
(primary_expression
(fn_call
(fn_identifier)
(argument_list
(expression
(primary_expression
(integer)))))))
(expression
(primary_expression
(fn_call
(fn_identifier)
(argument_list
(expression
(primary_expression
(integer))))))))))))
(assign
(var_identifier)
(expression
(primary_expression
(fn_call
(fn_identifier)
(argument_list
(pair_argument
(string
(string_start)
(string_content)
(string_end))
(expression
(primary_expression
(string
(string_start)
(string_content)
(string_end)))))
(pair_argument
(string
(string_start)
(string_content)
(string_end))
(expression
(primary_expression
(string
(string_start)
(string_content)
(string_end)))))
(pair_argument
(string
(string_start)
(string_content)
(string_end))
(expression
(primary_expression
(string
(string_start)
(string_content)
(string_end))))))))))
(assign
(var_identifier)
(expression
(primary_expression
(fn_call
(fn_identifier)
(argument_list
(pair_argument
(string
(string_start)
(string_content)
(string_end))
(expression
(primary_expression
(integer))))
(pair_argument
(string
(string_start)
(string_content)
(string_end))
(expression
(primary_expression
(integer)))))))))
(assign
(var_identifier)
(expression
(primary_expression
(fn_call
(fn_identifier)
(argument_list
(pair_argument
(string
(string_start)
(string_content)
(string_end))
(expression
(primary_expression
(integer))))
(pair_argument
(string
(string_start)
(string_content)
(string_end))
(expression
(primary_expression
(fn_call
(fn_identifier)
(argument_list
(pair_argument
(string
(string_start)
(string_content)
(string_end))
(expression
(primary_expression
(integer))))
(pair_argument
(string
(string_start)
(string_content)
(string_end))
(expression
(primary_expression
(integer)))))))))))))))))