docs: document remaining packages and simplify AST types (#45)
## Summary - Added doc comments across the codebase: `pkg/lambda`, `pkg/saccharine`, `pkg/codec`, `pkg/engine`, `pkg/iterator`, `pkg/set`, `pkg/convert`, `internal/registry`, and `cmd/lambda`. - Made lambda and saccharine expression structs use public fields instead of getters, matching `go/ast` conventions. - Removed superfluous constructors for saccharine and lambda expression/statement types in favor of struct literals. - Consolidated saccharine token constructors into a single `NewToken` function. - Removed the unused `trace` package. ## Test plan - [x] `go build ./...` passes. - [x] `go test ./...` passes. - [ ] Verify `go doc` output renders correctly for documented packages. Reviewed-on: #45 Co-authored-by: M.V. Hutz <git@maximhutz.me> Co-committed-by: M.V. Hutz <git@maximhutz.me>
This commit was merged in pull request #45.
This commit is contained in:
@@ -1,13 +1,18 @@
|
||||
package registry
|
||||
|
||||
// A Converter is a directed graph of conversions between representations. Each
|
||||
// node is a representation name, and each edge is a Conversion.
|
||||
type Converter struct {
|
||||
data map[string][]Conversion
|
||||
}
|
||||
|
||||
// NewConverter creates an empty Converter with no registered conversions.
|
||||
func NewConverter() *Converter {
|
||||
return &Converter{data: map[string][]Conversion{}}
|
||||
}
|
||||
|
||||
// Add registers a conversion, adding an edge from its source representation
|
||||
// to its target representation.
|
||||
func (g *Converter) Add(c Conversion) {
|
||||
conversionsFromIn, ok := g.data[c.InType()]
|
||||
if !ok {
|
||||
@@ -18,6 +23,8 @@ func (g *Converter) Add(c Conversion) {
|
||||
g.data[c.InType()] = conversionsFromIn
|
||||
}
|
||||
|
||||
// ConversionsFrom returns all conversions that have the given representation
|
||||
// as their source type.
|
||||
func (g *Converter) ConversionsFrom(t string) []Conversion {
|
||||
return g.data[t]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user