Receber por email
← Voltar para o catálogo

AST Manipulation

Habilidade especializada em padrões de projeto, percurso, transformação e manipulação de árvores de sintaxe abstrata.

1.4kestrelas
Atualizado há 4 meses

Ver no GitHub ↗ Licença: MIT

Como adicionar

/plugin marketplace add a5c-ai/babysitter

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/ast-manipulation/svg)](https://www.skillteca.com.br/skills/ast-manipulation)

Skills relacionadas

Ver todas de Automação →

Alerta por categoria

Receba novas skills de Automação toda segunda

1 email curto, só com as skills novas de Automação. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

AST Manipulation Skill

Overview

Expert skill for abstract syntax tree design, traversal, transformation, and manipulation patterns.

Capabilities

  • Design typed AST node hierarchies
  • Implement visitor and transformer patterns
  • Build AST rewriting systems
  • Implement AST diffing and patching
  • Generate AST pretty-printers and formatters
  • Support AST serialization (JSON, binary)
  • Implement pattern matching on AST structures
  • Design span/location tracking systems

Target Processes

  • ast-design.js
  • semantic-analysis.js
  • ir-design.js
  • code-generation-llvm.js
  • lsp-server-implementation.js
  • macro-system-implementation.js

Dependencies

None (core skill)

Usage Guidelines

  1. Node Design: Design immutable AST nodes with clear ownership semantics
  2. Location Tracking: Include source spans on all nodes from the beginning
  3. Visitor Pattern: Implement visitor pattern for extensible traversal
  4. Transformation: Use transformer pattern for AST-to-AST transformations
  5. Serialization: Support both human-readable (JSON) and efficient (binary) serialization

Output Schema

{
  "type": "object",
  "properties": {
    "nodeTypes": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": { "type": "string" },
          "fields": { "type": "array" },
          "parent": { "type": "string" }
        }
      }
    },
    "visitors": {
      "type": "array",
      "items": { "type": "string" }
    },
    "transformers": {
      "type": "array",
      "items": { "type": "string" }
    },
    "generatedFiles": {
      "type": "array",
      "items": { "type": "string" }
    }
  }
}
Compartilhar X LinkedIn