文档解析器

文档解析器是一个编辑器扩展,它与文档进行交互,以改进该文档中数据的编辑和表示。解析器使用颜色和字体来突出显示编程语言源文档中不同的项。例如,语言关键字以一种颜色突出显示,变量名以另一种颜色突出显示,字符串文字以第三种颜色突出显示。

基本编辑器附带了一组用于常见编程语言的解析器。基于 LPEX 的编辑器应用程序可能会提供其他文档解析器和语言相关的功能。

使用解析器

当您打开文件时,编辑器将检查其文件扩展名是否与某个解析器相关联。例如,编辑器在交付时已配置为能够识别 C/C++ 程序源文件并对 C/C++ 程序源文件进行语法分析。如果打开名为 sample.c 的文件,则编辑器将调用 C/C++ 文档解析器。如果打开名为 sample.cbl 的文件,则编辑器将调用 COBOL 文档解析器。

通常,解析器将:

元素、类和样式

在编程语言源文档中,每一行都是元素。元素类定义描述了元素所包含的数据的类型。一个元素可以包含多个元素类。下面显示的元素包含代码注释类。

元素的样式确定了元素的显示方式。解析器设置一个样式字符串,该字符串通常与元素文本具有相同的长度。编辑器使用位于元素样式字符串中的相应位置的样式字符的属性来绘制元素文本的每个字符。下面显示的元素的样式包括关键字、标点符号、标识、运算符、加引号的字符串文字和注释样式字符。

  代码 注释
C 代码行,元素文本
元素样式
 if (x == "test")  
 kk_pi_oo_qqqqqqp_  
 /*test for x*/
 cccccccccccccc

实时语法分析

编辑器监视并记录您对文档所作的所有更改。当您完成每一行时,编辑器便检查该行是否具有特定于所编辑文档类型的构造。例如,在 C 程序中,解析器将开始注释标记(/*)与结束注释标记(*/)之间的文本识别为注释。编辑器使用对注释样式字符指定的颜色来显示那些注释,并使用注释元素类来对那些行作标记。

使用解析器的弹出菜单

文档解析器可以将它自己的选项添加到编辑器视图弹出菜单中,以指定要显示文档中的哪些元素,或者添加特定于正在编辑的文档的类型的操作。例如,可以从弹出菜单中选择过滤器视图 > 函数以便只显示 C/C++ 文档中的函数头。

相关参考
parser 参数
updateProfile.extensions 参数
updateProfile.noParser 参数
updateProfile.parserAssociation 参数
updateProfile.parserClass 参数
updateProfile.parsers 参数
updateProfile.parser 参数