Free SKILL.md scraped from GitHub. Clone the repo or copy the file directly into your Claude Code skills directory.
npx versuz@latest install a5c-ai-babysitter-library-specializations-programming-languages-skills-parser-genegit clone https://github.com/a5c-ai/babysitter.gitcp babysitter/SKILL.MD ~/.claude/skills/a5c-ai-babysitter-library-specializations-programming-languages-skills-parser-gene/SKILL.md---
name: Parser Generator
description: Expert skill for parser generation and implementation using LL, LR, LALR, PEG, and Pratt parsing techniques
category: Compiler Frontend
allowed-tools:
- Read
- 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
```json
{
"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" }
}
}
}
```