==========================================
simple declarations
==========================================

package trivial

type x int64
var y = ""
func z() {}

---

(program
    (package_directive (package_name))
    (type_declaration (type_name) (type_name))
    (var_declaration (var_name) (string))
    (func_declaration (var_name) (block_statement)))

==========================================
var declarations
==========================================

package trivial

var X struct { Y int64 }
var Z = ""

---

(program
    (package_directive (package_name))
    (var_declaration (var_name) (struct_type (var_name) (type_name)))
    (var_declaration (var_name) (string)))

==========================================
comments
==========================================

package trivial

var x = 1 // on variable

func main() {
    // in function
}

---

(program
    (package_directive (package_name))
    (var_declaration (var_name) (expression (number) (comment)))
    (func_declaration (var_name) (block_statement (comment))))
