读取简单配置并生成对应数据结构:正确术语是Parsing还是Reading?
术语辨析:Reading vs Parsing 及相关概念澄清
基础定义回顾
Reading:指解读并理解书面材料的过程。
Parsing:指分析书面材料中词语间的关系,并根据底层语法将这些词语分组的过程。
核心问题解答:读取配置生成数据结构该用哪个术语?
简单来说,这个完整流程通常被统称为 "reading",但其中的核心语法分析环节属于 "parsing"。
编程语境下二者常被混用,尤其在Lisp这类语言中:
- Lisp的
read函数实际封装了两个步骤:先对文本形式的表达式做语法拆分(这就是parsing),再将拆分后的元素转换为内部数据结构(这一步属于解释/实例化)。 - 所以资料里会出现"读取Lisp对象即解析文本并生成对应对象"的表述,本质是因为
read函数把parsing和数据结构生成的流程打包在了一起。
概念澄清:Parsing 与数据结构生成的区别
- Parsing(解析):纯语法层面的操作,仅负责将输入文本拆分为符合语法规则的元素(比如把配置文本拆成键值对、数组、嵌套结构等语法单元),不关心这些元素最终映射到什么具体数据结构。
- 数据结构生成(解释/实例化):parsing之后的步骤,将语法单元映射为编程语言中的具体数据结构(比如把配置键值对转为字典/哈希表,把列表转为数组对象)。
多数配置读取工具会将这两步打包,因此人们用"reading"指代整个流程;若单独提及语法分析环节,则用"parsing"。
推荐学习资料
- 《编译原理》(龙书):详细讲解词法分析、语法分析(parsing)的底层原理,以及语法树到内部结构的转换逻辑。
- 《Programming Languages: Principles and Practice》:清晰梳理编程语言中"读取-解析-解释"的完整流程,帮助理解术语的语境差异。
- 《Structure and Interpretation of Computer Programs》:通过Lisp的
read-eval-print-loop模型,直观理解"reading"如何封装parsing与数据结构生成过程。
内容的提问来源于stack exchange,提问作者Eray Xx
相关产品推荐
相关产品推荐

