============================================
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))))
