语法设计Skill GrammarDesign

语法设计技能是用于创建和优化编程语言或领域特定语言语法的专业技能。它涵盖形式语法设计、消歧处理、运算符优先级设置、语法冲突分析以及为LL、LR、PEG等不同解析器类别设计语法。该技能也负责语法文档编写、示例提供,并确保语法的演进保持向后兼容。关键词:语法设计,形式语法,EBNF,BNF,消歧,优先级,解析器,语言设计,编译器前端。

架构设计 0 次安装 0 次浏览 更新于 2/25/2026

name: 语法设计 description: 包括消歧、优先级和验证在内的形式语法设计专业技能 category: 语言设计 allowed-tools:

  • 读取
  • 写入
  • 编辑
  • 全局搜索
  • 文本搜索
  • Bash

语法设计技能

概述

包括消歧、优先级和验证在内的形式语法设计专业技能。

能力

  • 编写EBNF/BNF语法规范
  • 设计无歧义语法
  • 处理运算符优先级和结合性
  • 分析语法冲突
  • 为特定解析器类别(LL, LR, PEG)设计语法
  • 用示例记录语法
  • 为常见语言结构设计语法
  • 处理语法演进和向后兼容性

目标流程

  • language-grammar-design.js
  • lexer-implementation.js
  • parser-development.js

依赖

解析理论文献(龙书,解析技术)

使用指南

  1. 符号:为语法规范使用标准EBNF符号
  2. 消歧:使语法无歧义或记录优先级规则
  3. 解析器类别:设计语法以适应目标解析器类别(LL(k), LALR, PEG)
  4. 示例:为所有语法规则包含示例
  5. 演进:规划向后兼容的语法演进

输出模式

{
  "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" }
    }
  }
}