Назад към всички

Parser Generator

// Expert skill for parser generation and implementation using LL, LR, LALR, PEG, and Pratt parsing techniques

$ git log --oneline --stat
stars:384
forks:73
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
nameParser Generator
descriptionExpert skill for parser generation and implementation using LL, LR, LALR, PEG, and Pratt parsing techniques
categoryCompiler Frontend
allowed-toolsRead,Write,Edit,Glob,Grep,Bash

Parser Generator Skill

Overview

Expert skill for parser generation and implementation using LL, LR, LALR, PEG, and Pratt parsing techniques.

Capabilities

  • Generate parsers from grammar specifications (ANTLR, Bison, tree-sitter)
  • Implement recursive descent parsers with predictive parsing
  • Implement Pratt parsers for expression handling
  • Generate LALR/GLR parse tables
  • Implement PEG parsers with packrat memoization
  • Handle grammar conflicts (shift-reduce, reduce-reduce)
  • Generate concrete syntax trees (CST) and AST transformations
  • Implement operator precedence parsing

Target Processes

  • parser-development.js
  • language-grammar-design.js
  • ast-design.js
  • lsp-server-implementation.js

Dependencies

  • ANTLR4
  • tree-sitter
  • Bison/Yacc

Usage Guidelines

  1. Grammar Analysis: Analyze grammar class requirements (LL(k), LALR, etc.) before selecting parser type
  2. Conflict Resolution: Document and resolve all shift-reduce/reduce-reduce conflicts explicitly
  3. Error Recovery: Implement synchronization points for robust error recovery
  4. AST Construction: Design AST node types before implementing production actions
  5. Expression Parsing: Use Pratt parsing for complex expression precedence handling

Output Schema

{
  "type": "object",
  "properties": {
    "parserType": {
      "type": "string",
      "enum": ["recursive-descent", "pratt", "lalr", "glr", "peg", "ll"]
    },
    "grammarClass": { "type": "string" },
    "conflicts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": { "type": "string" },
          "resolution": { "type": "string" }
        }
      }
    },
    "generatedFiles": {
      "type": "array",
      "items": { "type": "string" }
    }
  }
}