mysql with parser_Package - mysql_parser

Parser的外部交互流程图

Title:editor-parser模块交互流程图

participant 前端项目 as A

participant editor_parser模块 as B

participant 后端项目 as C

A -> B : 1.发起SQL解析请求(参数对象:EditorContext)

B -> B : 2.完成解析动作

B --> A : 3.返回解析出来的需要补全的对象(参数对象:CodeCompletionRequest)

A -> C : 4.请求补全列表(参数对象:CodeCompletionRequest)

C --> A : 5.返回补全列表(参数对象:list)

A ->A : 6.处理成Monaco补全的样式

A -> A : 7.进行补全提示

npm.taobao.org

交互说明:

editor-parser模块

当前的语法解析模块,现阶段不区分SQL语言类型。

该模块被前端项目引用,该模块功能单一,仅处理SQL解析的问题,不处理提示的问题,提示的问题请在前端项目中完成。

该模块对前端项目仅暴露一个方法,该方法签名为:

/**

* 处理前端项目需要解析的SQL

* 参数:editorContext,编辑器上的内容和当前编辑器的一些参数

* 返回值: CodeCompletionRequest, 该对象表名当前需要补全的类型是什么

*/

parser(editorContext: EditorContext): CodeCompletionRequest{

}

editor-parser模块内部说明

Title:editor-parser模块内部时序图

participant client处理请求 as A

participant parser解析器 as B

participant symbolTable符号表 as C

A -> A : 1.检查数据EditorContext是否符合规范

A -> B : 2.交由parser进行解析

B -> C : 3.parser的监听器在解析过程中生成符号表

C --> B : 4.构建符号表完成

A -> B : 5.根据光标所在位置找到AST上对应的Token

B-->A: 6.返回当前光标所在Token

A -> C : 7.根据Token在符号表中查找是否有对应的变量Token

C --> A: 8.返回符号表中对应的变量Token

A -> A: 9.生成CodeCompletionRequest,并返回

npm.taobao.org

Current Tags

0.0.18                                ...           latest (a year ago)

6 Versions

0.0.18                                ...           a year ago

0.0.17                                ...           a year ago

0.0.16                                ...           a year ago

0.0.15                                ...           a year ago

0.0.14                                ...           a year ago

0.0.13                                ...           a year ago

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值