編譯原理(第3版清華大學計算機係列教材普通高等教育十一五***規劃教材)

編譯原理(第3版清華大學計算機係列教材普通高等教育十一五***規劃教材) pdf epub mobi txt 電子書 下載 2025

王生原董淵張素琴 編
圖書標籤:
  • 編譯原理
  • 編譯器
  • 程序設計語言
  • 語法分析
  • 語義分析
  • 目標代碼生成
  • 詞法分析
  • 計算機科學
  • 教學教材
  • 清華大學
想要找書就要到 新城書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
店鋪: 博庫網旗艦店
齣版社: 清華大學
ISBN:9787302381419
商品編碼:10357518177
開本:16
齣版時間:2015-06-01

具體描述

基本信息

商品名稱: 編譯原理(第3版清華大學計算機係列教材普通高等教育十一五***規劃教材) 齣版社: 清華大學 齣版時間:2015-06-01
作者:編者:王生原//董淵//張素琴//呂映芝//蔣維杜 開本:16開 印刷時間: 2015-06-01
定價: 49 頁數:399 印次:1
ISBN號:9787302381419 商品類型:圖書 版次:3

內容提要

王生原、董淵、張素琴、呂映芝、蔣維杜編*的 《編譯原理(第3版)》介紹程序設計語言編譯程序 構造的一般原理、基本設計方法和主要實現技術,主 要內容包括文法、自動機和語言的基礎知識,詞法分 析,語法分析,語法製導的語義計算,語義分析,中 間代碼生成,運行時存儲組織,代碼優化和目標代碼 生成。
     除瞭基本設計原理外,書中還包含兩個小型編譯 程序的設計實例,可選作課程設計的素材。一個是PL /O語言編譯程序,其設計和實現框架貫穿於本書相 關章節中;另一個是簡單麵嚮對象語言Decaf的編譯 程序。本書*後還介紹瞭業界廣泛使用的開源編譯器 GCC及和它緊密相關的Binutils工具鏈,通過一係列 程序實例說明這些工具的作用和基本用法。
     本書可作為高等院校計算機科學與技術相關專業 的本科生教材,也可作為相關教師、研究生或工程技 術人員的參考書。
    

目錄

**章 引論 1.1 什麼是編譯程序 1.2 編譯過程和編譯程序的結構 1.2.1 編譯過程概述 1.2.2 編譯程序的結構 1.2.3 編譯階段的組閤 1.3 解釋程序和一些軟件工具 1.3.1 解釋程序 1.3.2 處理源程序的軟件工具 1.4 PL/0語言編譯係統 1.4.1 PL/0語言編譯係統構成 1.4.2 PL/0語言 1.4.3 類P-code語言 1.4.4 PL/0編譯程序 1.4.5 PL/0語言編譯係統的驅動代碼 練習 第2章 文法和語言 2.1 文法的直觀概念 2.2 符號和符號串 2.3 文法和語言的形式定義 2.4 文法的類型 2.5 上下文無關文法及其語法樹 2.6 句型的分析 2.6.1 自上而下的分析方法 2.6.2 自下而上的分析方法 2.6.3 句型分析的有關問題 2.7 有關文法實際應用的一些說明 2.7.1 有關文法的實用限製 2.7.2 上下文無關文法中的ε規則 練習 第3章 詞法分析 3.1 詞法分析程序的設計 3.1.1 詞法分析程序和語法分析程序的接口方式 3.1.2 詞法分析程序的輸齣 3.1.3 將詞法分析工作分離的考慮 3.1.4 詞法分析程序中如何識彆單詞 3.2 PL/0編譯程序中詞法分析程序的設計和實現 3.3 單詞的形式化描述工具 3.3.1 正規文法 3.3.2 正規式 3.3.3 正規文法和正規式的等價性 3.4 有窮自動機 3.4.1 確定的有窮自動機 3.4.2 不確定的有窮自動機 3.4.3 NFA轉換為等價的 3.4.4 確定有窮自動機的化簡 3.5 正規式和有窮自動機的等價性 3.6 正規文法和有窮自動機的等價性 3.7 詞法分析程序的自動構造工具 3.7.1 lex描述文件中使用的正規錶達式 3.7.2 lex描述文件的格式 3.7.3 lex的使用 3.7.4 與yacc的接口約定 練習 第4章 自頂嚮下語法分析方法 4.1 確定的自頂嚮下分析思想 4.2 LL(1)文法的判彆 4.3 某些非LL(1)文法到LL(1)文法的等價變換 4.3.1 提取左公共因子 4.3.2 消除左遞歸 4.4 不確定的自頂嚮下分析思想 4.5 LL(1)分析的實現 4.5.1 遞歸下降LL(1)分析程序 4.5.2 錶驅動LL(1)分析程序 4.6 LL(1)分析中的齣錯處理 4.6.1 應急恢復 4.6.2 短語層恢復 4.6.3 PL/0語法分析程序的錯誤處理 練習 第5章 自底嚮上優先分析 5.1 自底嚮上優先分析概述 5.2 簡單優先分析法 5.2.1 優先關係定義 5.2.2 簡單優先文法的定義 5.2.3 簡單優先分析法的操作步驟 5.3 算符優先分析法 5.3.1 直觀算符優先分析法 5.3.2 算符優先文法的定義 5.3.3 算符優先關係錶的構造 5.3.4 算符優先分析算法 5.3.5 優先函數 5.3.6 算符優先分析法的局限性 練習 第6章 LR分析 6.1 LR分析概述 6.2 LR(0)分析 6.2.1 可歸前綴和子前綴 6.2.2 識彆活前綴的有限自動機 6.2.3 活前綴及可歸前綴的一般計算方法 6.2.4 LR(0)項目集規範族的構造 6.3 SLR(1)分析 6.4 LR(1)分析 6.4.1 LR(1)項目集族的構造 6.4.2 LR(1)分析錶的構造 6.5 LALR(1)分析 6.6 二義性文法在LR分析中的應用 練習 第7章 語法製導的語義計算 7.1 基於屬性文法的語義計算 7.1.1 屬性文法 7.1.2 遍曆分析樹進行語義計算 7.1.3 S-屬性文法和L-屬性文法 7.1.4 基於S-屬性文法的語義計算 7.1.5 基於L-屬性文法的語義計算 7.2 基於翻譯模式的語義計算 7.2.1 翻譯模式 7.2.2 基於S-翻譯模式的語義計算 7.2.3 基於L-翻譯模式的自頂嚮下語義計算 7.2.4 基於L-翻譯模式的自底嚮上語義計算 7.3 分析和翻譯程序的自動生成工具 7.3.1 yacc描述文件 7.3.2 使用yacc的一個簡單例子 練習 第8章 靜態語義分析和中間代碼生成 8.1 符號錶 8.1.1 符號錶的作用 8.1.2 符號的常見屬性 8.1.3 符號錶的實現 8.1.4 符號錶體現作用域與可見性 8.1.5 實例:PL/0編譯程序中符號錶的設計與實現 8.2 靜態語義分析 8.2.1 靜態語義分析的主要任務 8.2.2 類型檢查 8.3 中間代碼生成 8.3.1 常見的中間錶示形式 8.3.2 生成抽象語法樹 8.3.3 生成三地址碼 8.4 多遍的方法 練習 第9章 運行時存儲組織 9.1 運行時存儲組織概述 9.1.1 運行時存儲組織的作用與任務 9.1.2 程序運行時存儲空間的布局 9.1.3 存儲分配策略 9.2 活動記錄 9.2.1 過程活動記錄 9.2.2 嵌套過程定義中非局部量的訪問 9.2.3 嵌套程序塊的非局部量訪問 9.2.4 動態作用域規則和靜態作用域規則 9.3 過程調用 9.4 PL/0編譯程序的運行時存儲組織 9.4.1 PL/0程序運行棧中的過程活動記錄 9.4.2 實現過程調用和返迴的類P-code指令 9.5 麵嚮對象語言存儲分配策略 9.5.1 類和對象的角色 9.5.2 麵嚮對象程序運行時的特徵 9.5.3 對象的存儲組織 9.5.4 例程的動態綁定 9.5.5 其他話題 練習 **0章 代碼優化和目標代碼生成 10.1 基本塊、流圖和循環 10.1.1 基本塊 10.1.2 流圖 10.1.3 循環 10.2 數據流分析基礎 10.2.1 數據流方程的概念 10.2.2 到達-定值數據流分析 10.2.3 活躍變量數據流分析 10.2.4 幾種重要的變量使用數據流信息 10.3 代碼優化技術 10.3.1 窺孔優化 10.3.2 局部優化 10.3.3 循環優化 10.3.4 全局優化 10.4 目標代碼生成技術 10.4.1 目標代碼生成的主要環節 10.4.2 一個簡單的代碼生成過程 10.4.3 高效使用寄存器 10.4.4 圖著色寄存器分配 10.4.5 PL/0編譯器的目標代碼生成程序 練習 **1章 課程設計 11.1 基於PL/0編譯器的課程設計 11.2 基於Decaf編譯器的課程設計 11.2.1 Decaf編譯器實驗的總體結構 11.2.2 詞法和語法分析(階段一) 11.2.3 語義分析(階段二) 11.2.4 中間代碼生成(階段三) 11.2.5 代碼優化(階段四) 11.2.6 目標代碼生成(階段五) 11.2.7 基於Decaf編譯器的課程設計 11.3 軟件包相關信息說明 **2章 編譯器和相關工具實例——GCC/Binutils 12.1 開源編譯器GCC 12.1.1 GCC介紹 12.1.2 GCC總體結構 12.1.3 GCC編譯流程 12.1.4 GCC代碼組織 12.1.5 小結 12.2 開源工具Binutils 12.2.1 目標文件 12.2.2 匯編器和鏈接器 12.2.3 其他工具 12.2.4 小結 12.3 編譯器和工具使用實例 12.3.1 編譯特定版本的編譯器 12.3.2 查看目標文件 12.3.3 程序代碼優化 12.3.4 小結 練習 附錄A PL/0編譯程序文本 參考文獻


深入淺齣,解鎖程序世界運行的底層邏輯——《計算機係統底層原理探秘》 本書並非一本枯燥的技術手冊,而是一場引人入勝的探索之旅,旨在揭示計算機程序得以運行的深層機製。從我們編寫的一行行代碼,到最終在處理器上執行的指令序列,其間究竟經曆瞭怎樣的蛻變?是什麼力量驅動著這些數字的流動,又是什麼規則確保瞭程序的準確與高效?《計算機係統底層原理探秘》將帶你逐一解開這些謎團。 我們都知道,計算機軟件是由一係列指令組成的,這些指令最終會轉化為機器能夠理解和執行的二進製代碼。然而,從高級編程語言到機器碼的轉化過程,絕非簡單的“翻譯”。它涉及到對計算機硬件結構的深刻理解,對程序執行流程的精細剖析,以及對數據錶示和處理方式的嚴謹考量。本書將以一種係統性的、循序漸進的方式,帶領讀者深入到計算機工作原理的核心。 第一部分:代碼的誕生與演變——從高級語言到機器的低語 一切的起點,是我們每天都在使用的編程語言。無論是C、C++、Java還是Python,它們都為我們提供瞭一種抽象的、人類易於理解的錶達方式來描述計算任務。然而,計算機本身隻認識0和1。因此,將人類的語言轉化為機器的語言,是程序運行的第一個關鍵步驟。 本書將詳細介紹編譯器(Compiler)和解釋器(Interpreter)的工作原理。你將瞭解到,編譯器是如何一步步地解析源代碼,進行詞法分析、語法分析,構建齣抽象語法樹,再進行語義分析、中間代碼生成,最終優化並生成目標機器代碼。我們將深入探討各個階段的算法和數據結構,例如如何使用有限狀態自動機進行詞法分析,如何運用遞歸下降或LR分析法進行語法分析,以及如何構建和遍曆抽象語法樹。 與此同時,我們也會剖析解釋器的工作模式,理解它如何逐行讀取並執行源代碼,以及解釋器與編譯器的不同之處,各自的優劣勢又體現在何處。通過對比,讀者將對軟件的執行過程有一個更全麵的認識。 在這一部分,我們還將涉及匯編語言(Assembly Language)。匯編語言是機器語言的一種符號化錶示,它與特定的處理器架構緊密相關。通過學習匯編語言,讀者將能更直觀地理解機器指令的構成,瞭解寄存器、內存地址、指令集等基本概念。我們將通過實例,展示高級語言語句是如何被轉化為一係列匯編指令的,這將是理解程序運行時機和性能優化的基礎。 第二部分:程序的內在脈絡——內存、執行與控製流 一旦程序被轉化為機器指令,它就需要被加載到內存中並由處理器執行。內存的組織方式、數據的存儲格式以及指令的執行順序,都直接影響著程序的行為。 本書將深入探討內存管理的機製。你將瞭解到,內存是如何被劃分為不同的區域,如代碼段、數據段、堆棧段等。我們將詳細介紹變量的存儲,包括全局變量、局部變量、動態分配內存(堆)以及函數調用時棧幀(Stack Frame)的創建與銷毀。理解棧和堆的區彆,以及內存泄漏的産生原理,對於編寫健壯的程序至關重要。 程序執行的過程也將被細緻地解析。我們將介紹指令周期,即處理器如何取指令、解碼指令、執行指令、寫迴結果。你將瞭解到不同類型的指令,如算術指令、邏輯指令、數據傳輸指令、控製流指令等。 控製流(Control Flow)是程序邏輯的核心。本書將重點講解條件語句(if-else, switch)和循環語句(for, while)是如何在底層通過跳轉指令(Jump Instructions)和條件跳轉指令(Conditional Jump Instructions)來實現的。我們將分析函數調用和返迴的機製,包括函數參數的傳遞方式(棧傳遞、寄存器傳遞)、返迴地址的保存以及棧幀的維護。這對於理解遞歸、尾遞歸優化等高級概念有著深遠的意義。 第三部分:數據的編織與運算——數值錶示與位操作的藝術 計算機處理的本質是數據。數據的錶示方式,無論是在內存中還是在處理器內部,都遵循著特定的規則。理解這些規則,對於深入理解算法、數據結構以及各種底層技術至關重要。 我們將首先介紹數值的二進製錶示,包括整數(有符號和無符號)、浮點數的錶示方法。你將深入理解補碼(Two's Complement)的工作原理,它如何簡化減法運算,以及浮點數(IEEE 754標準)的精度問題和溢齣概念。 在此基礎上,本書將帶領讀者領略位操作(Bitwise Operations)的強大力量。通過學習邏輯運算符(AND, OR, XOR, NOT)和移位運算符(Left Shift, Right Shift),你將能高效地進行數據壓縮、標誌位管理、加密解密、硬件控製等操作。我們將通過生動的實例,展示位操作在實際編程中的應用,例如如何使用位操作實現快速的乘除法,如何判斷一個數的奇偶性,如何設置和清除特定的比特位。 第四部分:性能的基石——內存訪問、緩存與指令並行 理解程序的底層原理,離不開對計算機硬件性能瓶頸的認識。即使是邏輯正確的程序,如果其在硬件層麵執行效率低下,也難以滿足現代應用的需求。 本書將深入講解內存訪問模型。你將瞭解到,CPU訪問內存的速度遠慢於CPU本身的運算速度,因此緩存(Cache Memory)的設計與工作原理至關重要。我們將介紹緩存的層次結構(L1, L2, L3),緩存塊(Cache Line)的概念,以及緩存命中(Cache Hit)和緩存不命(Cache Miss)對程序性能的影響。我們將分析常見的內存訪問模式,如順序訪問、隨機訪問,並探討如何通過優化代碼的內存訪問模式來提高緩存命中率,從而加速程序運行。 此外,我們還將探討指令並行(Instruction-Level Parallelism, ILP)的概念。現代處理器通過多種技術來同時執行多條指令,以提高吞吐量。我們將簡要介紹流水綫(Pipelining)、超標量(Superscalar)、亂序執行(Out-of-Order Execution)等技術,幫助讀者理解處理器是如何榨乾每一條指令的執行效率的。雖然這些技術非常復雜,但理解其基本思想,有助於我們寫齣更易於處理器優化的代碼。 第五部分:鏈接與加載——可執行文件的旅程 當我們在命令行輸入一個程序名並迴車後,這個程序是如何被加載到內存並開始執行的呢?這個過程涉及到鏈接(Linking)和加載(Loading)。 我們將介紹目標文件(Object File)的格式,包括代碼段、數據段、符號錶、重定位信息等。你將瞭解到,鏈接器(Linker)是如何將多個目標文件和庫文件閤並成一個可執行文件的。我們將重點講解符號解析(Symbol Resolution)和地址重定位(Address Relocation)的過程,這是鏈接的核心。 隨後,我們將介紹加載器(Loader)的作用。加載器負責將可執行文件從磁盤讀取到內存,並進行必要的初始化,然後將控製權交給程序的入口點。我們將探討動態鏈接(Dynamic Linking)和靜態鏈接(Static Linking)的區彆,以及動態鏈接庫(DLLs/Shared Libraries)的工作原理,它們如何節省內存和磁盤空間,以及帶來的潛在問題。 本書的價值所在 《計算機係統底層原理探穿》並非僅僅羅列概念,而是通過豐富的實例、深入的剖析和嚴謹的邏輯,幫助讀者建立起對計算機係統運作原理的宏觀認知和微觀理解。 提升編程功底: 深入理解底層原理,能讓你在編寫代碼時,更能預見到潛在的性能問題,寫齣更高效、更健壯的程序。例如,理解內存模型能幫助你優化數據結構的選擇,理解控製流能幫助你編寫更簡潔易懂的邏輯。 debug 利器: 當程序齣現難以捉摸的錯誤時,對底層原理的掌握將為你提供強大的debug思路,讓你能夠從更深層次去分析問題,而非僅僅停留在錶麵現象。 技術視野拓展: 本書為進一步學習操作係統、計算機網絡、嵌入式係統、性能優化、安全等領域打下堅實的基礎。理解編譯原理是理解一切與程序執行相關的技術的前提。 培養計算思維: 通過學習計算機是如何工作的,你將更深刻地理解抽象、分解、模式識彆、算法設計等計算思維的核心要素。 無論你是初學者,渴望理解“代碼是如何工作的”;還是有經驗的開發者,希望深入優化程序性能,亦或是對計算機科學充滿好奇的研究者,《計算機係統底層原理探秘》都將是你不可或缺的知識寶庫。它將為你打開一扇通往計算機世界底層運作機製的大門,讓你從一個“使用者”轉變為一個更深刻的“理解者”和“創造者”。

用戶評價

評分

坦白說,我之前對《編譯原理》這個主題一直感到有些畏懼,總覺得它離我實際的編程工作太過遙遠,更多的是一種理論上的探索。然而,這本書的齣現,徹底改變瞭我的看法。它不僅僅是教授“如何編譯”,更重要的是,它幫助我理解瞭“代碼是如何被理解的”。書中對於抽象語法樹(AST)的構建和遍曆,以及如何利用AST進行各種分析和轉換的講解,讓我看到瞭代碼在計算機內部的“生命周期”。我印象最深刻的是,書中關於語義分析的章節,它不僅僅是檢查語法錯誤,更重要的是理解代碼的含義,例如類型檢查、變量作用域的確定等等。這些過程,是代碼能夠真正被執行的前提。讀到這裏,我纔恍然大悟,原來我們平時寫的一行行代碼,在計算機看來,是如此的“有條理”、“有邏輯”。這本書讓我從一個“代碼使用者”的角色,轉變為一個能夠“理解代碼本質”的思考者。雖然某些章節的數學推導略顯密集,但整體上,這本書為我打開瞭一扇理解程序內部工作機製的窗戶,讓我對軟件開發有瞭更深的敬畏之心。

評分

我對這本書的整體印象是,它在理論的深度和學術的嚴謹性上做得相當齣色,同時又盡可能地貼近實際的工程應用。書中對於各種編譯技術背後的數學原理,例如有限自動機、上下文無關文法等,都有著清晰而詳盡的闡述,這為理解整個編譯過程打下瞭堅實的理論基礎。我尤其欣賞書中關於語言設計與編譯器實現之間關係的討論,這讓我明白瞭,一個好的編程語言,其設計本身就蘊含著許多便於編譯器實現的原則。雖然書中的一些算法實現細節,例如對特定數據結構的運用,可能需要讀者具備一定的編程基礎纔能完全理解,但作者通過大量的圖錶和詳細的步驟分解,極大地降低瞭學習的門檻。這本書並沒有試圖去涵蓋所有最新的編譯技術,而是專注於那些最核心、最基礎的原理,並將其闡釋得淋灕盡緻。這讓我感覺,它更像是一本“內功心法”的秘籍,掌握瞭其中的精髓,再去學習其他的“招式”就會事半功倍。對於那些想要在編譯領域深入研究,或者想要構建高性能語言工具的開發者來說,這本書無疑是一份不可多得的寶貴財富。

評分

這本書最大的亮點在於其強大的實踐導嚮性,它不僅僅是一本理論堆砌的教材,更是對如何構建一個實際編譯器提供瞭非常詳盡的指導。書中關於代碼生成的章節,著重講解瞭如何將中間錶示轉化為目標機器代碼,並且詳細闡述瞭寄存器分配、指令選擇等關鍵技術。我尤其欣賞書中關於不同處理器架構下代碼生成差異的討論,這讓我明白,編譯器的設計並不是一成不變的,而是需要根據目標平颱的特性進行調整。此外,書中對於錯誤處理和調試部分的介紹,也非常實用。一個健壯的編譯器,不僅需要能夠正確地編譯代碼,還需要能夠清晰地嚮開發者指齣錯誤所在,並提供有用的調試信息。這本書在這方麵提供瞭很多寶貴的經驗和建議,讓我意識到,一個優秀的編譯器,其背後蘊含著多少精巧的設計和細緻的考量。雖然書中對於一些高級優化技術,例如嚮量化和並行化,可能沒有進行過於深入的探討,但對於構建一個基礎的、功能完善的編譯器而言,這本書所提供的知識體係已經足夠紮實。我甚至開始嘗試根據書中的原理,去設計一些簡單的編譯器模塊,這讓我對學習過程充滿瞭成就感。

評分

拿到這本《編譯原理》的第三版,老實說,我原本以為這本書會像我之前看過的許多技術書籍一樣,充斥著枯燥的理論和晦澀的公式,讀起來讓人昏昏欲睡。然而,齣乎意料的是,這本書的編寫風格相當流暢,即使是那些原本聽起來就很高深的概念,作者也通過精巧的比喻和生動的例子,將其剖析得淺顯易懂。我尤其喜歡書中關於詞法分析和語法分析部分的講解,作者並沒有直接拋齣抽象的定義,而是從實際的編程語言設計需求齣發,一步步引導讀者理解其中的原理和實現方式。比如,在介紹正則錶達式時,書中用瞭大量貼近實際應用場景的例子,讓我不再覺得它隻是一個抽象的數學工具,而是真正能夠解決問題的利器。此外,書中對於各種解析器(如LL、LR、SLR、LALR等)的介紹,也循序漸進,從概念到原理,再到具體的算法實現,層次分明,邏輯嚴謹。即使我之前對這部分內容感到頭疼,在這本書的引導下,也逐漸梳理清楚瞭脈絡,甚至開始對其中的一些優化技巧産生瞭濃厚的興趣。總的來說,這本書在理論深度和易讀性之間找到瞭一個很好的平衡點,對於想要深入理解編譯原理的讀者來說,無疑是一本非常有價值的入門讀物。

評分

我一直覺得,計算機科學的許多核心概念,如數據結構、算法,甚至是操作係統,都與“如何高效地組織和處理信息”息息相關。而《編譯原理》這本書,無疑是將這個理念推嚮瞭一個新的高度。它不僅僅是關於如何將高級語言轉化為機器碼,更重要的是,它揭示瞭計算機如何“理解”和“執行”我們所編寫的代碼。書中對於中間代碼生成和代碼優化的章節,給我留下瞭深刻的印象。作者並沒有止步於講解基本的轉換過程,而是深入探討瞭各種優化技術,例如常量摺疊、公共子錶達式消除、循環優化等等。這些技術看似微小,卻能極大地提升程序的運行效率。讓我特彆驚喜的是,書中還穿插瞭大量關於實際編譯器設計中遇到的挑戰和解決方案的討論,這讓我在學習理論知識的同時,也能感受到工程實踐的魅力。雖然其中一些優化算法的細節需要仔細琢磨,但書中提供的僞代碼和圖示,極大地降低瞭理解的難度。讀完這幾章,我感覺自己對程序的運行機製有瞭更深的認識,也更加理解瞭為什麼一些看似簡單的程序,在實際運行中會有如此大的性能差異。這本教材,確實讓我對“編譯”這個過程有瞭全新的視角。

評分

東西不錯,就是物流有點慢。

評分

1

評分

東西不錯,就是物流有點慢。

評分

評分

評分

東西不錯,就是物流有點慢。

評分

東西不錯,就是物流有點慢。

評分

評分

東西不錯,就是物流有點慢。

相關圖書

本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有