使用开源解析器 ZGLanguage : 输出扁平化、可标注的编程语言解析结果

0 阅读1分钟

ZGLanguage可以通过配置,对各种编程语言进行解析。 

和别的语法解析器不同的是,ZGLanguage解析的结果不是语法树,而是扁平化的二维表结果,目的是让用户更加方便地使用解析结果。

 另外,ZGLanguage可以对每个解析节点进行自定义标注,使得解析结果更容易分析使用。 

 举例说明ZGLanguage的“扁平化”和“可标注”特性:

 # 解析内容: 

{
    name : '张三',
  age : 23
}

# 解析配置 :

__DEF_STR__   __NAME__
<1,100>
[1,1]ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_??
[0,100]ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_??
 
 
__DEF_STR__   __INT__
<1,100>
[1,100]0123456789
 
 
__DEF_SUB_PATH__   __STRING__
1       : 左引号                     | '
        : 内容                       | __ANY__
        : 右引号                     | '
 
__DEF_PATH__   __DICT__
1       : 左括号      | {
N       : key         | __NAME__
        : 冒号        | :
        : int_val     | __INT__
        : str_val     + __STRING__
e       : 逗号        | ,
1       : 右括号      | }

# 解析结果 :