AsciiDoc语言项目范围作为https://projects.eclipse.org/proposals/asciidoc-language[项目提案]的一部分,在2020年7月27日由AsciiDoc工作组指导委员会批准。该范围后来在2022年11月16日进行了收紧,并作为第一次进展审查的一部分得到批准,该审查内容在https://gitlab.eclipse.org/eclipse/asciidoc-lang/asciidoc-lang/-/issues/11[问题#11]进行了总结。AsciiDoc WG指导委员会按照https://www.eclipse.org/org/workinggroups/asciidoc-charter.php[工作组宪章]规定,担任规范委员会的角色。

批准范围

AsciiDoc语言项目定义并维护AsciiDoc语言规范和技术兼容性工具包(TCK),以及其工件和面向作者的语言指南。AsciiDoc语言规范描述了语法和语法规则、抽象语义图(ASG)、文档对象模型(DOM)接口、引用系统、指定的扩展点、处理阶段以及所需的集成和行为。TCK用于验证和自我认证一个AsciiDoc处理器实现是否与此规范兼容。

具体来说,项目范围包括以下事项:

  • AsciiDoc 语言语法/语法结构(比如 EBNF、ANTLR4 或类似的)

    • 词汇表

    • 初步知识/基本要素(例如,行为导向、块状、内联、宏、预处理指令等)

    • 文档类型特定的结构和必需元素

    • 内置属性和保留属性命名空间

    • 指定的文件扩展名(.adoc)

    • 逃逸机制

  • TCK:用于验证和自证AsciiDoc语言处理器的兼容性的技术兼容性套件。

  • ASG: 一种编码形式的解析文档,用于开发语言无关的TCK(例如,JSON)

  • DOM API(仅接口):语言无关的,用于表示AsciiDoc文档结构、元数据和内容的语义表示。

  • 解析策略 / 处理阶段(预处理、解析、转换)

  • 延伸设施

    • 语法扩展点(例如,自定义块或宏)

    • 解析器(例如,路径和属性解析器,ID生成器)

    • 生命周期拦截器(例如,前处理器、输出处理器、树处理器)

  • 内部和外部引用系统:(例如,交叉引用、包含、图像)

  • 必须集成的适配器:语法高亮器、STEM、文档信息、图标

  • 期望的转换器行为(例如,目录,ID生成,标题编号,可折叠块)

除了规范文档和TCK外,项目还提供以下内容:

  • AsciiDoc 语言指南供作者使用

  • TCK的ASG架构

  • DOM的API文档

Note
项目范围也发布在项目站点的[治理页面](https://projects.eclipse.org/projects/asciidoc.asciidoc-lang/governance)上。

范围变更

对项目范围的任何修改,除了不改变语义含义或意图的小修正外,都需要通过一次[重组审查](https://www.eclipse.org/projects/dev_process/#6_3_8_Restructuring_Review),并且必须得到指导委员会大多数成员的批准。