============================================ Package clauses ============================================ package main ---- (source_file (package_clause (package_identifier))) ============================================ Single import declarations ============================================ package a import "net/http" import . "some/dsl" import _ "os" import alias "some/package" ---- (source_file (package_clause (package_identifier)) (import_declaration (import_spec (interpreted_string_literal))) (import_declaration (import_spec (dot) (interpreted_string_literal))) (import_declaration (import_spec (blank_identifier) (interpreted_string_literal))) (import_declaration (import_spec (package_identifier) (interpreted_string_literal)))) ============================================ Grouped import declarations ============================================ package a import ( "net/http" . "some/dsl" _ "os" alias "some/package" ) ---- (source_file (package_clause (package_identifier)) (import_declaration (import_spec_list (import_spec (interpreted_string_literal)) (import_spec (dot) (interpreted_string_literal)) (import_spec (blank_identifier) (interpreted_string_literal)) (import_spec (package_identifier) (interpreted_string_literal))))) ============================================ Block comments ============================================ /* * This is a great package */ package a ---- (source_file (comment) (package_clause (package_identifier))) ============================================ Comments with asterisks ============================================ package main /* a */ const a /* b **/ const b /* c ***/ const c /* d ***/ const d --- (source_file (package_clause (package_identifier)) (comment) (const_declaration (const_spec (identifier))) (comment) (const_declaration (const_spec (identifier))) (comment) (const_declaration (const_spec (identifier))) (comment) (const_declaration (const_spec (identifier)))) ============================================ Non-ascii variable names ============================================ package main const ( α Α µs // micro sign (not mu) δ1 ΔΔΔ ω_omega Ω_OMEGA ) --- (source_file (package_clause (package_identifier)) (const_declaration (const_spec (identifier)) (const_spec (identifier)) (const_spec (identifier)) (comment) (const_spec (identifier)) (const_spec (identifier)) (const_spec (identifier)) (const_spec (identifier))))