go/ast | Package ast declares the types used to represent syntax trees for Go packages. |
go/parser | Package parser implements a parser for Go source files. |
go/token | Package token defines constants representing the lexical tokens of the Go programming language and basic operations on tokens (printing, predicates). |
go/types | Package types declares the data types and implements the algorithms for type-checking of Go packages. |
golang.org/x/exp/typeparams | Package typeparams contains common utilities for writing tools that interact with generic Go code, as introduced with Go 1.18. |