name: 语法设计 description: 包括消歧、优先级和验证在内的形式语法设计专业技能 category: 语言设计 allowed-tools:
- 读取
- 写入
- 编辑
- 全局搜索
- 文本搜索
- Bash
语法设计技能
概述
包括消歧、优先级和验证在内的形式语法设计专业技能。
能力
- 编写EBNF/BNF语法规范
- 设计无歧义语法
- 处理运算符优先级和结合性
- 分析语法冲突
- 为特定解析器类别(LL, LR, PEG)设计语法
- 用示例记录语法
- 为常见语言结构设计语法
- 处理语法演进和向后兼容性
目标流程
- language-grammar-design.js
- lexer-implementation.js
- parser-development.js
依赖
解析理论文献(龙书,解析技术)
使用指南
- 符号:为语法规范使用标准EBNF符号
- 消歧:使语法无歧义或记录优先级规则
- 解析器类别:设计语法以适应目标解析器类别(LL(k), LALR, PEG)
- 示例:为所有语法规则包含示例
- 演进:规划向后兼容的语法演进
输出模式
{
"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" }
}
}
}