Documentation
¶
Overview ¶
Package c implements a tree-sitter-based parser for C source files.
Index ¶
- func BuildSignature(node *sitter.Node, src []byte, name string) string
- func ExtractCComment(node *sitter.Node, src []byte) string
- func ExtractDeclaration(node *sitter.Node, src []byte, parent string, result *ParseResult)
- func ExtractDeclaratorName(node *sitter.Node, src []byte) string
- func ExtractEnum(node *sitter.Node, src []byte, parent string, result *ParseResult)
- func ExtractFunction(node *sitter.Node, src []byte, parent string, result *ParseResult)
- func ExtractInclude(node *sitter.Node, src []byte, result *ParseResult)
- func ExtractStruct(node *sitter.Node, src []byte, parent string, result *ParseResult)
- func ExtractTypedef(node *sitter.Node, src []byte, result *ParseResult)
- func WalkC(node *sitter.Node, src []byte, parent string, result *ParseResult)
- type CParser
- type Dependency
- type Entity
- type ParseResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BuildSignature ¶
BuildSignature extracts the function signature (name + params).
func ExtractCComment ¶
ExtractCComment looks for a comment node immediately before the given node.
func ExtractDeclaration ¶
func ExtractDeclaration(node *sitter.Node, src []byte, parent string, result *ParseResult)
ExtractDeclaration checks for function prototypes inside declarations.
func ExtractDeclaratorName ¶
ExtractDeclaratorName walks through nested declarators to find the identifier name.
func ExtractEnum ¶
func ExtractEnum(node *sitter.Node, src []byte, parent string, result *ParseResult)
ExtractEnum extracts an enum definition.
func ExtractFunction ¶
func ExtractFunction(node *sitter.Node, src []byte, parent string, result *ParseResult)
ExtractFunction extracts a function definition.
func ExtractInclude ¶
func ExtractInclude(node *sitter.Node, src []byte, result *ParseResult)
ExtractInclude handles #include directives.
func ExtractStruct ¶
func ExtractStruct(node *sitter.Node, src []byte, parent string, result *ParseResult)
ExtractStruct extracts a struct definition and walks its body.
func ExtractTypedef ¶
func ExtractTypedef(node *sitter.Node, src []byte, result *ParseResult)
ExtractTypedef extracts a typedef.
Types ¶
type Dependency ¶
Dependency represents an #include directive.
type Entity ¶
type Entity struct {
Name string
Type string // "function" | "struct" | "enum" | "union" | "type"
Kind string // "function" | "declaration" | "struct" | "enum" | "union" | "typedef"
Signature string
StartLine int
EndLine int
Docs string
Parent string
}
Entity represents a named code element.
type ParseResult ¶
type ParseResult struct {
FilePath string
Entities []*Entity
Dependencies []*Dependency
}
ParseResult is the output of Parse.