1.0.13 • Published 4 years ago

editor_parser v1.0.13

Weekly downloads
-
License
ISC
Repository
-
Last release
4 years ago

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.进行补全提示

parser交互时序图.png

交互说明:

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,并返回

parser内部时序图.png

1.0.13

4 years ago

1.0.11

4 years ago

1.0.10

4 years ago

1.0.12

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.0

4 years ago

0.0.34

4 years ago

0.0.33

4 years ago

0.0.32

4 years ago

0.0.30

4 years ago

0.0.27

4 years ago

0.0.29

4 years ago

0.0.26

4 years ago

0.0.25

4 years ago

0.0.22

4 years ago

0.0.23

4 years ago

0.0.24

4 years ago

0.0.21

4 years ago

0.0.20

4 years ago

0.0.19

4 years ago

0.0.18

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago