[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
- 基礎命令