Grammar Design Skill
Overview
Expert skill for formal grammar design including disambiguation, precedence, and validation.
Capabilities
- Write EBNF/BNF grammar specifications
- Design unambiguous grammars
- Handle operator precedence and associativity
- Analyze grammar conflicts
- Design grammar for specific parser classes (LL, LR, PEG)
- Document grammar with examples
- Design syntax for common language constructs
- Handle grammar evolution and backwards compatibility
Target Processes
- language-grammar-design.js
- lexer-implementation.js
- parser-development.js
Dependencies
Parsing theory literature (Dragon Book, Parsing Techniques)
Usage Guidelines
- Notation: Use standard EBNF notation for grammar specifications
- Disambiguation: Make grammars unambiguous or document precedence rules
- Parser Class: Design grammar to fit target parser class (LL(k), LALR, PEG)
- Examples: Include examples for all grammar rules
- Evolution: Plan for backwards-compatible grammar evolution
Output Schema
{
"type": "object",
"properties": {
"notation": {
"type": "string",
"enum": ["ebnf", "bnf", "peg", "antlr"]
},
"parserClass": {
"type": "string",
"enum": ["ll1", "llk", "lalr", "glr", "peg"]
},
"productionCount": { "type": "integer" },
"conflicts": {
"type": "array",
"items": { "type": "string" }
},
"generatedFiles": {
"type": "array",
"items": { "type": "string" }
}
}
}
1---2name: grammar-design3description: Expert skill for formal grammar design including disambiguation, precedence, and validation4---5
6# Grammar Design Skill
7
8## Overview
9
10Expert skill for formal grammar design including disambiguation, precedence, and validation.
11
12## Capabilities
13
14- Write EBNF/BNF grammar specifications
15- Design unambiguous grammars
16- Handle operator precedence and associativity
17- Analyze grammar conflicts
18- Design grammar for specific parser classes (LL, LR, PEG)
19- Document grammar with examples
20- Design syntax for common language constructs
21- Handle grammar evolution and backwards compatibility
22
23## Target Processes
24
25- language-grammar-design.js
26- lexer-implementation.js
27- parser-development.js
28
29## Dependencies
30
31Parsing theory literature (Dragon Book, Parsing Techniques)
32
33## Usage Guidelines
34
351. **Notation**: Use standard EBNF notation for grammar specifications
362. **Disambiguation**: Make grammars unambiguous or document precedence rules
373. **Parser Class**: Design grammar to fit target parser class (LL(k), LALR, PEG)
384. **Examples**: Include examples for all grammar rules
395. **Evolution**: Plan for backwards-compatible grammar evolution
40
41## Output Schema
42
43```json
44{
45 "type": "object",
46 "properties": {
47 "notation": {
48 "type": "string",
49 "enum": ["ebnf", "bnf", "peg", "antlr"]
50 },
51 "parserClass": {
52 "type": "string",
53 "enum": ["ll1", "llk", "lalr", "glr", "peg"]
54 },
55 "productionCount": { "type": "integer" },
56 "conflicts": {
57 "type": "array",
58 "items": { "type": "string" }
59 },
60 "generatedFiles": {
61 "type": "array",
62 "items": { "type": "string" }
63 }
64 }
65}
66```