~repos /plum
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)))))))))))))))))