Directories
¶
| Path | Synopsis |
|---|---|
|
Package ast defines the TDL abstract syntax tree: a parse tree that mirrors source text 1:1, with names left unresolved.
|
Package ast defines the TDL abstract syntax tree: a parse tree that mirrors source text 1:1, with names left unresolved. |
|
backend
|
|
|
debug
Package debug is a backend that describes the model it was given.
|
Package debug is a backend that describes the model it was given. |
|
golang
Package golang generates Go source from a resolved model.
|
Package golang generates Go source from a resolved model. |
|
internal/emit
Package emit is what every code generator in backend/ shares: which declarations are the model's own, reading directives for one target, reporting what cannot be generated, and resolving a type reference to the shapes the prelude spells.
|
Package emit is what every code generator in backend/ shares: which declarations are the model's own, reading directives for one target, reporting what cannot be generated, and resolving a type reference to the shapes the prelude spells. |
|
internal/irtest
Package irtest builds ir.Model values by hand for backend tests.
|
Package irtest builds ir.Model values by hand for backend tests. |
|
protobuf
Package protobuf generates a proto3 schema from a resolved model.
|
Package protobuf generates a proto3 schema from a resolved model. |
|
smithy
Package smithy generates a Smithy IDL 2.0 model from a resolved model.
|
Package smithy generates a Smithy IDL 2.0 model from a resolved model. |
|
thrift
Package thrift generates a Thrift IDL file from a resolved model.
|
Package thrift generates a Thrift IDL file from a resolved model. |
|
cli
module
|
|
|
cmd
|
|
|
tdl
command
Command tdl parses and formats Type Description Language source files.
|
Command tdl parses and formats Type Description Language source files. |
|
tdl-gen-debug
command
Command tdl-gen-debug is the debug backend as a plugin.
|
Command tdl-gen-debug is the debug backend as a plugin. |
|
tdl-gen-go
command
Command tdl-gen-go is the Go backend as a plugin.
|
Command tdl-gen-go is the Go backend as a plugin. |
|
tdl-gen-protobuf
command
Command tdl-gen-protobuf is the protobuf backend as a plugin.
|
Command tdl-gen-protobuf is the protobuf backend as a plugin. |
|
tdl-gen-smithy
command
Command tdl-gen-smithy is the Smithy backend as a plugin.
|
Command tdl-gen-smithy is the Smithy backend as a plugin. |
|
tdl-gen-thrift
command
Command tdl-gen-thrift is the Thrift backend as a plugin.
|
Command tdl-gen-thrift is the Thrift backend as a plugin. |
|
e2e
module
|
|
|
gen
module
|
|
|
internal
|
|
|
cli
Package cli wires up the tdl command-line interface.
|
Package cli wires up the tdl command-line interface. |
|
ebnf
Package ebnf lints the grammar files under docs/.
|
Package ebnf lints the grammar files under docs/. |
|
gen
Package gen is the compiler side of the plugin protocol: which backends exist, how a request is built, and what happens to the files that come back.
|
Package gen is the compiler side of the plugin protocol: which backends exist, how a request is built, and what happens to the files that come back. |
|
lsp
Package lsp serves the Language Server Protocol over a TDL model being edited: what is wrong with a file, and where a name under the cursor was declared.
|
Package lsp serves the Language Server Protocol over a TDL model being edited: what is wrong with a file, and where a name under the cursor was declared. |
|
sema
Package sema lowers a parse tree to the resolved semantic model in the ir package: it resolves names, lowers sugar to prelude types, and interns type references.
|
Package sema lowers a parse tree to the resolved semantic model in the ir package: it resolves names, lowers sugar to prelude types, and interns type references. |
|
textmate
Package textmate turns the annotated grammar into a TextMate grammar for VS Code.
|
Package textmate turns the annotated grammar into a TextMate grammar for VS Code. |
|
treesitter
Package treesitter turns the annotated grammar into a tree-sitter grammar.js.
|
Package treesitter turns the annotated grammar into a tree-sitter grammar.js. |
|
Package ir is the resolved semantic model backends consume: what the parse tree becomes once names are resolved and sugar is lowered.
|
Package ir is the resolved semantic model backends consume: what the parse tree becomes once names are resolved and sugar is lowered. |
|
Package lex implements the TDL lexer, turning source text into a stream of tokens for the parser.
|
Package lex implements the TDL lexer, turning source text into a stream of tokens for the parser. |
|
Package parser implements a hand-written recursive-descent parser that turns TDL source text into an ast.File.
|
Package parser implements a hand-written recursive-descent parser that turns TDL source text into an ast.File. |
|
pkg
module
|
|
|
Package plugin is the wire protocol a TDL backend speaks, and the SDK for writing one.
|
Package plugin is the wire protocol a TDL backend speaks, and the SDK for writing one. |
|
Package prelude embeds the standard prelude, the TDL source declaring the roots every other file depends on.
|
Package prelude embeds the standard prelude, the TDL source declaring the roots every other file depends on. |
|
tools
|
|
|
textmate
command
Command textmate derives the VS Code TextMate grammar from docs/grammar.ebnf.
|
Command textmate derives the VS Code TextMate grammar from docs/grammar.ebnf. |
|
treesitter
command
Command treesitter derives tree-sitter/grammar.js from docs/grammar.ebnf.
|
Command treesitter derives tree-sitter/grammar.js from docs/grammar.ebnf. |
Click to show internal directories.
Click to hide internal directories.