Languages / Verilog / SystemVerilog · Edit queries/tags.scm

Tier 2 · Declarative tags.scm

Verilog / SystemVerilog

Declarative tree-sitter query plugin powered by QueryLanguagePlugin (rgctl-lang-runtime) and crates/rgctl-lang-verilog/queries/tags.scm. Compiles once at startup, validates captures against the Tier-2 vocabulary gate, and extracts symbols, container hierarchy (Container::member), imports, and call edges.

Grammar Crate
tree-sitter-verilog
Plugin
QueryLanguagePlugin (rgctl-lang-verilog)
Extensions
.v, .sv, .svh
Discover
rgctl discover . -l verilog
Function Kinds
function_declaration, task_declaration
Class / Container Kinds
class_declaration, module_declaration

Capture summary

CapturePatternsGraph mapping
@definition.class1Emits SymbolType::Class (acts as enclosing container).
@definition.function2Emits SymbolType::Function (acts as caller scope & container).
@definition.module1Emits SymbolType::Module (acts as enclosing container).
@name6Symbol identifier or target callee/type name.
@reference.call1Emits RelationType::Calls from innermost enclosing function to @name.
@reference.class1Emits RelationType::References to @name.

Query source (crates/rgctl-lang-verilog/queries/tags.scm)

; Tier-2 Verilog/SystemVerilog tags for rgctl (`handler = "queries"`).

(module_declaration
  (module_header (simple_identifier) @name)) @definition.module

(function_declaration
  (function_body_declaration
    (function_identifier (simple_identifier) @name))) @definition.function

(task_declaration
  (task_body_declaration
    (task_identifier (simple_identifier) @name))) @definition.function

(class_declaration
  (class_identifier (simple_identifier) @name)) @definition.class

(tf_call
  (simple_identifier) @name) @reference.call

(module_instantiation
  .
  (simple_identifier) @name) @reference.class

Related: Tier 2 language support · Tier 1 language support · Discovering and indexing