[TOC]
> ## 注释处理器:
- 解析注释生成AST(抽象语法树)
- 根据AST进行编译、索引、信息提取或分析处理
- 不直接生成源码,注释只用于元信息或文档
- 例如Javadoc可以生成文档,CheckStyle可以进行静态分析
> ## 语言模型API:
- 解析注释生成AST
- 根据AST生成目标源码
- 可以编译和执行生成的源码
- 注释驱动了源码的生成,注释变成了一种语言
- 例如使用JavaCC可以定义SQL注释,并根据注释生成SQL语句
二者的主要差异在于**是否最终生成并可执行源码**。注释处理器更注重利用注释进行其他处理(文档、分析等),而不直接生成源码。**语言模型API则将注释视为一种语言**,并根据注释生成可执行的源码,这是一种源码生成方式。
> ## 注释处理器实现步骤:
1. 定义注释结构和语法
2. 解析注释生成AST
3. 编译AST生成文档
4. 构建索引
5. 信息提取
6. 分析处理
> ## 语言模型API实现步骤:
1. 定义注释结构和语法(对应语言语义)
2. 解析注释生成AST
3. 根据AST生成目标源码
4. 源码重构(可选)
5. 源码编译(可选,如果执行)
6. 执行源码(可选)
> ## 代码示例:
### 1. 注释处理器(生成文档):
```
java
/**
* @author John
* @version 1.0
*/
public class Hello {
// ...
}
```
### 2. 语言模型API(生成SQL):
```
sql
/**
* @select * from table
*/
```
解析注释:
```
java
/**
* @author John
* @version 1.0
*/
Comment -> AuthorTag -> "John"
-> VersionTag -> "1.0"
```
sql
```
/**
* @select * from table
*/
Select -> "*"
From -> "table"
```
### 3. 注释处理器(生成文档):
```
html
<p><b>@author</b> John</p>
<p><b>@version</b> 1.0</p>
```
### 4. 语言模型API(生成SQL):
```
sql
select * from table
```
> 总结:
注释处理器和语言模型API都可以解析注释并进行处理,但最终产出不同:
- 注释处理器:文档、索引、信息、分析等
- 语言模型API:可执行的源码
> 注释处理器更侧重于注释本身及其信息,语言模型API则将注释视为实现新语言的一种方式。两者为我们提供了利用注释进行各种处理的灵活手段。
> 理解注释处理器和语言模型API的区别和应用场景,可以更好地**设计注释结构及其处理流程**,实现定制的需求与效果。
- 系统设计
- 需求分析
- 概要设计
- 详细设计
- 逻辑模型设计
- 物理模型设计
- 产品设计
- 数据驱动产品设计
- 首页
- 逻辑理解
- 微服务架构的关系数据库优化
- Java基础架构
- 编程范式
- 面向对象编程【模拟现实】
- 泛型编程【参数化】
- 函数式编程
- 响应式编程【异步流】
- 并发编程【多线程】
- 面向切面编程【代码复用解耦】
- 声明式编程【注解和配置】
- 函数响应式编程
- 语法基础
- 包、接口、类、对象和切面案例代码
- Springboot按以下步骤面向切面设计程序
- 关键词
- 内部类、匿名类
- 数组、字符串、I/O
- 常用API
- 并发包
- XML
- Maven 包管理
- Pom.xml
- 技术框架
- SpringBoot
- 项目文件目录
- Vue
- Vue项目文件目录
- 远程组件
- 敏捷开发前端应用
- Pinia Store
- Vite
- Composition API
- uniapp
- 本地方法JNI
- 脚本机制
- 编译器API
- 注释
- 源码级注释
- Javadoc
- 安全
- Swing和图形化编程
- 国际化
- 精实或精益
- 精实软件数据库设计
- 精实的原理与方法
- 项目
- 零售软件
- 扩展
- 1001_docker 示例
- 1002_Docker 常用命令
- 1003_微服务
- 1004_微服务数据模型范式
- 1005_数据模型
- 1006_springCloud
- AI 流程图生成
- Wordpress_6
- Woocommerce_7
- WooCommerce常用的API和帮助函数
- WooCommerce的钩子和过滤器
- REST API
- 数据库API
- 模板系统
- 数据模型
- 1.Woo主题开发流程
- Filter
- Hook
- 可视编辑区域的函数工具
- 渲染字段函数
- 类库和框架
- TDD 通过测试来驱动开发
- 编程范式对WordPress开发
- WordPress和WooCommerce的核心代码类库组成
- 数据库修改
- 1.WP主题开发流程与时间规划
- moho
- Note 1
- 基础命令