Python中的parser指的是什么
小編給大家分享一下Python中的parser指的是什么,相信大部分人都還不怎么了解,因此分享這邊文章給大家學習,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去學習方法吧!
所謂 parser,一般是指把某種格式的文本(字符串)轉換成某種數據結構的過程。最常見的 parser,是把程序文本轉換成編譯器內部的
一種叫做“抽象語法樹”(AST)的數據結構。也有簡單一些的 parser,用于處理 CSV,JSON,XML 之類的格式。
舉個例子,一個處理算數表達式的 parser,可以把“1+2”這樣的,含有1,+,2三個字符的字符串,轉換成一個對象(object)。這
個對象就像new BinaryExpression(ADD, new Number(1), new Number(2))這樣的 Java 構造函數調用生成出來的那樣。
之所以需要做這種從字符串到數據結構的轉換,是因為編譯器是無法直接操作“1+2”這樣的字符串的。實際上,代碼的本質根本就不是
字符串,它本來就是一個具有復雜拓撲的數據結構,就像電路一樣。“1+2”這個字符串只是對這種數據結構的一種“編碼”,就像 ZIP
或者 JPEG 只是對它們壓縮的數據的編碼一樣。
這種編碼可以方便你把代碼存到磁盤上,方便你用文本編輯器來修改它們,然而你必須知道,文本并不是代碼本身。所以從磁盤讀取了文
本之后,你必須先“解碼”,才能方便地操作代碼的數據結構。比如,如果上面的 Java 代碼生成的 AST 節點叫node,你就可以用
node.operator來訪問ADD,用node.left來訪問1,node.right來訪問2。這是很方便的。
對于程序語言,這種解碼的動作就叫做 parsing,用于解碼的那段代碼就叫做 parser。
總結
以上是生活随笔為你收集整理的Python中的parser指的是什么的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 11、如何开启慢日志查询?
- 下一篇: 如何从Android so中提取URL