plum

#treesitter#compiler#wasm

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

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


plum-tooling/tree-sitter-plum/test/corpus/const.txt
58cc293 1
================================================================================
58cc293 2
const
58cc293 3
================================================================================
58cc293 4
58cc293 5
PI = 3.14
58cc293 6
MSG = "Hello World"
58cc293 7
SUM = 1 + {{2 * 3} / 4}
58cc293 8
ENABLED = !False
58cc293 9
OPEN = {count > 10} && {enabled == True} || {debug == False}
58cc293 10
COUNTRIES_LIST = listOf("US", "INDIA", "CANADA")
58cc293 11
58cc293 12
--------------------------------------------------------------------------------
58cc293 13
58cc293 14
(source
58cc293 15
  (const
58cc293 16
    (const_identifier)
58cc293 17
    (expression
58cc293 18
      (primary_expression
58cc293 19
        (float))))
58cc293 20
  (const
58cc293 21
    (const_identifier)
58cc293 22
    (expression
58cc293 23
      (primary_expression
58cc293 24
        (string
58cc293 25
          (string_start)
58cc293 26
          (string_content)
58cc293 27
          (string_end)))))
58cc293 28
  (const
58cc293 29
    (const_identifier)
58cc293 30
    (expression
58cc293 31
      (primary_expression
58cc293 32
        (binary_operator
58cc293 33
          (primary_expression
58cc293 34
            (integer))
58cc293 35
          (primary_expression
58cc293 36
            (parenthesized_expression
58cc293 37
              (expression
58cc293 38
                (primary_expression
58cc293 39
                  (binary_operator
58cc293 40
                    (primary_expression
58cc293 41
                      (parenthesized_expression
58cc293 42
                        (expression
58cc293 43
                          (primary_expression
58cc293 44
                            (binary_operator
58cc293 45
                              (primary_expression
58cc293 46
                                (integer))
58cc293 47
                              (primary_expression
58cc293 48
                                (integer)))))))
58cc293 49
                    (primary_expression
58cc293 50
                      (integer)))))))))))
58cc293 51
  (const
58cc293 52
    (const_identifier)
58cc293 53
    (expression
58cc293 54
      (not_operator
58cc293 55
        (expression
58cc293 56
          (primary_expression
58cc293 57
            (type_identifier))))))
58cc293 58
  (const
58cc293 59
    (const_identifier)
58cc293 60
    (expression
58cc293 61
      (boolean_operator
58cc293 62
        (expression
58cc293 63
          (boolean_operator
58cc293 64
            (expression
58cc293 65
              (primary_expression
58cc293 66
                (parenthesized_expression
58cc293 67
                  (expression
58cc293 68
                    (comparison_operator
58cc293 69
                      (primary_expression
58cc293 70
                        (var_identifier))
58cc293 71
                      (primary_expression
58cc293 72
                        (integer)))))))
58cc293 73
            (expression
58cc293 74
              (primary_expression
58cc293 75
                (parenthesized_expression
58cc293 76
                  (expression
58cc293 77
                    (comparison_operator
58cc293 78
                      (primary_expression
58cc293 79
                        (var_identifier))
58cc293 80
                      (primary_expression
58cc293 81
                        (type_identifier)))))))))
58cc293 82
        (expression
58cc293 83
          (primary_expression
58cc293 84
            (parenthesized_expression
58cc293 85
              (expression
58cc293 86
                (comparison_operator
58cc293 87
                  (primary_expression
58cc293 88
                    (var_identifier))
58cc293 89
                  (primary_expression
58cc293 90
                    (type_identifier))))))))))
58cc293 91
  (const
58cc293 92
    (const_identifier)
58cc293 93
    (expression
58cc293 94
      (primary_expression
58cc293 95
        (fn_call
f502d22 96
          (var_identifier)
f502d22 97
          (fn_argument_list
58cc293 98
            (expression
58cc293 99
              (primary_expression
58cc293 100
                (string
58cc293 101
                  (string_start)
58cc293 102
                  (string_content)
58cc293 103
                  (string_end))))
58cc293 104
            (expression
58cc293 105
              (primary_expression
58cc293 106
                (string
58cc293 107
                  (string_start)
58cc293 108
                  (string_content)
58cc293 109
                  (string_end))))
58cc293 110
            (expression
58cc293 111
              (primary_expression
58cc293 112
                (string
58cc293 113
                  (string_start)
58cc293 114
                  (string_content)
58cc293 115
                  (string_end))))))))))