编译原理与实现

编译原理与实现 pdf epub mobi txt 电子书 下载 2026

出版者:
作者:金成植
出品人:
页数:235
译者:
出版时间:1989-3
价格:8.10元
装帧:
isbn号码:9787040020830
丛书系列:
图书标签:
  • 编译原理
  • 编译器构造
  • 程序语言
  • 形式语言与自动机
  • 语法分析
  • 语义分析
  • 代码生成
  • 中间代码
  • 优化
  • 词法分析
想要找书就要到 小美书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

《编译原理与实现》是继1984年出版的《编译方法》之后,作者以PASCAL语言为模型编写的教材。《编译原理与实现》系统、完整地讲述了编译程序的构造原理及其实现方法。在书的取材及结构安排方面,注重了内容的易懂性和完整性。主要内容有:编译原理的基本概念、自动机与词法分析、形式语言与语法分析、中间代码生成与优化以及目标代码生成等。并附有一定数量的习题,帮助读者理解教材的内容。

《软件工程:从理论到实践》 这是一本旨在为读者提供全面、深入的软件工程知识体系的书籍。它不仅仅是关于如何编写代码,更是关于如何构建高质量、可维护、可扩展的软件系统。本书从软件开发的生命周期出发,系统地阐述了软件工程的核心概念、方法论和工具,力求将抽象的理论与实际的工程应用相结合。 核心内容概述: 本书共分为十个章节,层层递进,构建起完整的软件工程知识图谱。 第一章:软件工程概论 本章将为读者勾勒出软件工程的全景图。我们将探讨软件的本质、软件危机的由来及其影响,并引入软件工程作为解决之道。同时,会介绍软件工程的定义、目标、原则和方法,以及软件开发生命周期的不同模型(如瀑布模型、迭代模型、敏捷模型等)及其优劣势。这一章旨在为读者建立对软件工程的宏观认识。 第二章:需求工程 成功的软件项目始于准确的需求。本章将深入讲解需求获取、需求分析、需求规格说明以及需求验证等关键环节。我们会介绍多种需求获取技术,如访谈、问卷、原型法、用户故事等,并探讨需求分析中的建模技术,例如数据流图(DFD)、实体关系图(ERD)和用例图。此外,还将详细阐述如何编写清晰、无歧义的需求规格说明文档,以及需求管理和变更控制的重要性。 第三章:系统设计 在理解需求之后,设计是将需求转化为可实现蓝图的关键。本章将聚焦于软件设计的核心原则和方法。我们将从高层设计(架构设计)开始,介绍不同的软件架构风格(如分层架构、微服务架构、事件驱动架构等)及其适用场景。随后,我们将深入到详细设计,包括模块化设计、接口设计、数据结构和算法设计。设计模式作为解决常见设计问题的经验总结,也将得到详尽的介绍和案例分析。 第四章:软件实现(编码) 本章将关注代码编写的艺术与实践。虽然本书不侧重于特定编程语言的语法,但会强调良好的编码风格、命名规范、注释的重要性以及如何编写可读、可维护的代码。我们将探讨代码重构的原则和技巧,以及如何利用版本控制系统(如Git)进行代码管理和协作。此外,单元测试的概念和重要性也将贯穿其中。 第五章:软件测试 软件测试是确保软件质量的基石。本章将系统地介绍软件测试的各个层面,包括测试计划、测试用例设计、测试执行和测试报告。我们会详细讲解不同类型的测试,如单元测试、集成测试、系统测试、验收测试,以及回归测试、性能测试、安全测试等。白盒测试和黑盒测试的技术也会得到深入的阐述,并介绍自动化测试的优势和实践。 第六章:软件维护 软件的生命周期并未在交付时结束,维护是软件开发的重要组成部分。本章将探讨软件维护的不同类型,如纠错性维护、适应性维护、完善性维护和预防性维护。我们将讨论如何管理和执行软件的维护过程,包括缺陷跟踪、代码修复、版本管理以及对遗留系统的改造。 第七章:项目管理 成功的软件项目离不开有效的管理。本章将深入探讨软件项目管理的核心知识领域,包括项目启动、范围管理、时间管理、成本管理、质量管理、风险管理和沟通管理。我们会介绍常用的项目管理方法论,如关键路径法(CPM)、挣值管理(EVM),以及项目管理工具的应用。 第八章:软件质量保证 质量是软件的生命线。本章将围绕软件质量保证(SQA)展开。我们会定义软件质量的维度(如功能性、可靠性、可用性、效率、可维护性、可移植性),并介绍实现质量保证的策略和技术,包括评审、审计、过程改进以及质量度量。 第九章:软件过程改进 持续改进是提升软件工程能力的途径。本章将介绍软件过程改进的模型和方法,如能力成熟度模型集成(CMMI)和敏捷宣言背后的理念。我们将探讨如何评估和改进软件开发过程,以提高效率和产品质量。 第十章:案例分析与实践 为了巩固所学知识,本章将通过多个实际的软件项目案例,深入分析这些项目在需求、设计、实现、测试和维护过程中遇到的挑战以及解决方案。这些案例将涵盖不同类型的软件产品,帮助读者将理论知识应用于解决实际工程问题,并从中学习成功的经验和失败的教训。 本书特色: 理论与实践并重: 每一个概念的引入都会伴随着详细的解释和工程实践中的应用场景,力求做到学以致用。 体系化构建: 章节之间逻辑清晰,环环相扣,帮助读者建立完整的软件工程知识体系。 案例丰富: 通过真实的案例分析,让抽象的概念更加具体生动,提升读者的理解和应用能力。 注重方法论: 介绍多种主流的软件开发方法论,使读者能够根据项目特点选择最适合的开发模式。 前沿视角: 关注软件工程领域的最新发展和趋势,例如敏捷开发、DevOps等。 无论您是计算机科学的学生,还是希望提升软件开发能力的在职工程师,亦或是对构建高质量软件感兴趣的技术爱好者,《软件工程:从理论到实践》都将是您不可或缺的参考书籍。它将引导您踏上构建卓越软件的坚实之路。

作者简介

目录信息

读后感

评分

评分

评分

评分

评分

用户评价

评分

《编译原理与实现》这个书名,一下子就击中了我的好奇心,让我感觉这本书将是我通往计算机语言世界深处的一把钥匙。我一直以来都对“是什么让代码跑起来”这个问题感到着迷,而编译,正是这个问题的核心答案。我希望这本书能够详细地解释编译的整个生命周期,从源文件变成可执行文件,每一个环节都应该是清晰可见的。我特别希望在词法分析部分,它能够深入浅出地讲解如何利用正则表达式和有限自动机来识别语言的构成单元(Token),以及如何处理诸如关键字、标识符、运算符、字面量等不同类型的Token。在语法分析层面,我对不同的解析策略,尤其是LR解析器(SLR, LALR, Canonical LR)的工作原理和构建方法很感兴趣,期待书中能有详细的图示和步骤来展示如何构造分析表以及如何进行规约。我希望它能帮助我理解如何将自然语言描述的语法规则转化为计算机可以执行的算法。语义分析是让编译器“理解”代码的关键,我非常关注书中关于类型系统、作用域规则、变量生命周期管理以及函数调用语义的讲解。我希望能够学习到如何构建和维护符号表,以及如何执行静态语义检查,比如类型兼容性校验和未声明变量的检测。中间代码的生成也是我非常期待的部分,我希望了解三地址码、汇编式代码或者更抽象的中间表示(如AST的另一种形式)是如何产生的,以及它们在代码优化和目标代码生成中的作用。代码优化是提升程序效率的魔法,我渴望了解各种优化技术,如常量折叠、死代码删除、循环优化、函数内联、寄存器分配等,以及这些优化是如何在保持程序语义不变的前提下提高执行速度的。最后,目标代码生成部分,我希望看到如何将中间代码转化为特定硬件架构的机器指令,并理解指令选择、指令调度和寻址方式等底层技术。这本书是否能够让我从理论到实践,真正掌握编译器的构建,是我非常关注的。

评分

《编译原理与实现》这个书名,就像是一张通往计算机科学核心知识的地图,精准地标示出了我渴望探索的领域。我一直对“代码如何变成机器指令”这一过程深感着迷,而编译正是这个过程的核心。这本书的标题直接点明了我的目标,让我对其中的内容充满了期待。我尤其关注书中“实现”所承诺的实践性,我希望它能够提供构建一个完整编译器的具体指导,而不仅仅是理论的罗列。在词法分析部分,我希望能够清晰地理解正则表达式是如何被转化为有限自动机(DFA/NFA),以及如何利用这些自动机高效地扫描源程序并生成Token流。在语法分析方面,我非常想深入了解不同类型的解析器,如递归下降、LL(1)、SLR(1)、LALR(1)以及更复杂的LR(k)解析器,并且希望书中能提供构建这些解析器的详细步骤和示例,以及如何将文法转化为可执行的解析代码,最终生成抽象语法树(AST)。AST的构建和遍历是理解程序结构的基础,我希望能够掌握如何有效地操作和分析AST。语义分析是让编译器“理解”代码的阶段,我期待书中能够详细阐述类型系统、作用域规则、变量生命周期管理以及函数调用语义的检查方法,并了解如何设计和使用符号表来管理这些信息。中间代码的生成是编译器设计中的一个关键步骤,我希望了解三地址码、控制流图(CFG)或其他中间表示的生成方法,以及它们在后续优化和代码生成中的重要性。代码优化是我非常感兴趣的一个方面,我希望能够学习到各种经典的优化技术,例如过程内优化(常量折叠、死代码删除)和过程间优化(函数内联、逃逸分析),以及如何利用数据流分析和控制流分析来指导优化。最后,目标代码生成部分,我期待能学习到如何将优化后的中间代码映射到特定的机器指令集,包括指令选择、寄存器分配和代码调度等关键技术。这本书的厚度预示着其内容的深度和广度,我希望它能够成为我掌握编译原理和实践的强大助力。

评分

《编译原理与实现》这个书名,本身就勾勒出了一个严谨而系统的知识体系。作为一名对计算机底层原理充满探究精神的开发者,我一直认为,深入理解编译过程是提升编程造诣、优化程序性能的必经之路。我特别关注这本书在“实现”方面能提供多少有价值的内容。我希望它不仅仅是理论的搬运工,而是能够成为一本实践指南,指导我如何亲手构建一个编译器。具体来说,我期望在词法分析部分,能够看到如何通过构建有限状态自动机(FSA)来实现模式匹配,并能清晰地理解正则表达式与FSA之间的等价关系。在语法分析部分,我对各种解析技术,特别是LR族解析器的构建过程非常感兴趣,例如如何生成LR分析表,以及如何处理冲突。我希望书中能提供清晰的步骤和实例,让我能够理解自顶向下和自底向上解析的原理,以及它们在构建编译器时的应用。抽象语法树(AST)的构建和遍历是连接分析和生成阶段的桥梁,我希望能详细了解如何表示和操作AST,包括如何进行属性文法的计算和语义规则的检查。对于语义分析,我期待能看到符号表的设计和实现,以及如何进行类型检查、作用域分析和变量生命周期管理。中间代码的生成是编译器设计中的一个重要环节,我希望书中能详细介绍三地址码、控制流图(CFG)等中间表示的生成方法,并解释它们在后续优化和代码生成中的作用。在代码优化方面,我希望能学习到各种经典的优化技术,例如过程内优化(常量折叠、死代码删除)和过程间优化(内联、逃逸分析),以及如何利用数据流分析和控制流分析来指导优化。最后,目标代码生成部分,我期待能看到如何将中间表示转化为目标机器的汇编代码,包括指令选择、寄存器分配和代码调度等技术。这本书的厚度预示着其内容的深度和广度,我对能否从中学到构建实用编译器的知识充满期待。

评分

《编译原理与实现》这个书名,无疑正是我期待已久的关于计算机底层运作的详尽指南。我一直对编程语言如何从人类可读的文本转化为机器能够执行的指令这一过程感到着迷。这本书的标题直接切入了我的核心兴趣点,让我对它的内容充满了高度的期待。我尤其看重书中“实现”二字,这暗示着它将提供可操作的指导和方法,而非仅仅停留在抽象的理论层面。在词法分析部分,我希望能够深入理解正则表达式的表达能力,以及它们是如何被转化为有限自动机(DFA/NFA)的,并学习如何构建一个高效的词法扫描器来识别编程语言中的基本构成单元(Tokens)。在语法分析方面,我对不同的解析技术,尤其是LL和LR族解析器的构建和工作原理非常感兴趣,希望书中能够提供清晰的步骤和示例,让我能够理解如何从给定的文法生成解析器,并构建出程序的抽象语法树(AST)。AST的构建和遍历是后续处理的基础,我希望书中能有详尽的讲解。语义分析是让编译器真正“理解”代码的关键,我期待书中能够详细阐述类型检查、作用域规则、变量生命周期管理以及函数调用语义的分析方法,并了解如何设计和使用符号表来有效地管理这些信息。中间代码的生成是编译器设计中的一个重要环节,我希望了解三地址码、控制流图(CFG)或者其他形式的中间表示的生成原理,以及它们在代码优化和目标代码生成中的作用。代码优化是我非常感兴趣的一个领域,我希望能够掌握包括常量折叠、死代码删除、循环优化、函数内联、寄存器分配等在内的多种优化技术,并理解其背后的数据流和控制流分析。最后,目标代码生成部分,我期待能学习到如何将优化后的中间代码转化为特定处理器的汇编代码,理解指令选择、指令调度和寻址方式等技术。这本书的厚度表明了其内容的全面性,我希望它能成为我深入理解编译原理并掌握实际实现的坚实基础。

评分

这本书的标题《编译原理与实现》无疑是极具吸引力的,它精确地指出了我长期以来想要深入了解的计算机科学核心领域。我一直认为,要真正理解一门编程语言,就必须理解它的编译器是如何工作的。这本书的出现,就像在我迷茫的求知之路上点亮了一盏明灯。我关注的重点在于其“实现”二字,这暗示着它不会仅仅停留在理论层面,而是会提供具体的实现细节和方法。我希望这本书能够详细讲解如何构建一个完整的编译器,从最初的词法分析器到最终的目标代码生成器。例如,在词法分析阶段,我希望能够看到如何通过有限自动机(DFA和NFA)来识别和处理输入流中的Token,以及如何处理像注释、字符串字面量等特殊情况。在语法分析方面,我希望能深入理解不同类型的解析器,如递归下降解析、LL(1)解析、LR(0)、SLR(1)、LALR(1)以及CLRS中介绍的强大LR(k)解析器,并能够理解它们如何构建抽象语法树(AST)。对于AST的遍历和处理,我希望能有清晰的讲解,这部分通常是后续语义分析和代码生成的基础。语义分析部分,我期待看到类型检查、作用域管理、变量绑定等关键技术的实现细节,以及如何处理函数调用、运算符重载等语言特性。而中间代码生成,我希望能够学习到生成三地址码、四元式或P-code等形式的方法,以及这些中间表示的优势。代码优化是提升程序性能的关键,我非常想了解各种优化技术,比如数据流分析、控制流分析、循环不变代码外移、公共子表达式消除、死代码删除等。最后,目标代码生成部分,我希望能学习到如何将优化后的中间代码映射到具体的机器指令,理解指令选择、寄存器分配以及指令调度等问题。此外,我对书中是否会涉及到虚拟机(如JVM)的字节码生成和执行过程也十分好奇,因为这在现代编程语言中非常普遍。

评分

《编译原理与实现》这个书名,对我来说,简直就是打开计算机系统奥秘的一扇大门。我一直对编程语言是如何从我们书写的文本转化为机器能够执行的指令这一过程感到好奇。这本书的标题直接切入了我的兴趣点,让我认为它将提供详尽的解释。我尤其关注书中“实现”这个词所代表的实际操作和方法论。我希望它能够详述编译器的各个阶段,从源程序的预处理到最终可执行文件的生成。在词法分析部分,我期待看到关于正则表达式和有限自动机(DFA/NFA)如何工作,以及如何构建一个能够识别编程语言基本单元(Tokens)的词法分析器的详细介绍。在语法分析阶段,我非常想深入理解不同的解析技术,比如递归下降、LL(1)、LR(0)、SLR(1)、LALR(1)以及LR(k)解析器,以及如何利用这些技术构建抽象语法树(AST)。AST的构建和遍历是理解和处理程序结构的关键,我希望书中能提供清晰的图示和解释。语义分析是编译器“理解”代码的关键,我期待书中能够详细阐述类型检查、作用域管理、变量绑定、函数签名匹配等概念,以及如何通过符号表来管理这些信息。中间代码的生成也是我非常好奇的部分,我希望了解三地址码、控制流图(CFG)或者其他形式的中间表示是如何产生的,以及它们在代码优化和目标代码生成中的作用。代码优化是我非常感兴趣的一个领域,我希望书中能够涵盖各种重要的优化技术,例如循环优化、死代码删除、常量传播、函数内联等,并解释这些优化是如何提高程序性能的。最后,目标代码生成部分,我期待能学习到如何将中间代码映射到特定的机器指令集,包括指令选择、寄存器分配和指令调度等关键技术。这本书的厚度让我相信它会非常全面,我希望它能让我真正掌握构建编译器的基本方法。

评分

《编译原理与实现》这个书名,准确地捕捉了我对计算机底层运作原理的长期求知欲。我一直对编程语言的“魔法”感到好奇——那些我们写下的代码是如何变成机器能够理解的语言的?这本书的标题直接指向了这个核心问题,让我相信它将提供详尽的答案。我特别看重“实现”二字,这意味着它将不仅仅停留在理论层面,而是会给出具体的构建方法和步骤。在词法分析层面,我希望它能清晰地讲解如何利用正则表达式和有限自动机来识别和分类编程语言中的基本元素(Token),以及如何处理诸如关键字、标识符、运算符、分隔符和字面量等。对于语法分析,我非常期待深入了解各种解析技术,如LL、LR(包括SLR、LALR)及其变种,以及如何从文法规则生成解析器,并构建出程序的抽象语法树(AST)。AST的构建和遍历是理解程序结构的关键,我希望书中能提供生动的示例。语义分析是让编译器“理解”代码的阶段,我渴望学习如何进行类型检查、作用域分析、变量生命周期管理以及函数调用语义的分析,并了解符号表在这些过程中的作用。中间代码的生成是编译器设计中的一个重要环节,我希望了解三地址码、控制流图(CFG)或者其他中间表示的生成原理,以及它们如何在后续的优化和代码生成中发挥作用。代码优化是提升程序性能的关键,我希望能掌握包括常量折叠、死代码删除、循环不变代码外移、寄存器分配等在内的多种优化技术,并理解其背后的数据流和控制流分析。最后,目标代码生成部分,我期待能学习到如何将优化后的中间代码转化为特定处理器的汇编代码,理解指令选择、指令调度等技术。这本书的规模让我确信它将是一个全面的学习资源,我期待能从中获得构建一个真正编译器的实践经验。

评分

《编译原理与实现》这个书名,对我来说,就如同在浩瀚的计算机科学海洋中找到了一张清晰的航海图,指引着我深入探索编程语言的底层运作机制。我长期以来都对“代码是如何被翻译成机器语言”这一过程感到着迷,而编译正是这个过程的核心。这本书的标题直接切入了我的关注点,让我对其内容充满期待。我特别看重书中“实现”二字,这意味着它不仅仅会停留在理论层面,更会提供具体的构建方法和步骤。在词法分析部分,我希望能够详尽地理解正则表达式的强大威力,以及如何将其转化为有限自动机(DFA/NFA),从而高效地扫描源程序并识别出构成语言基本单元的Token。在语法分析方面,我对不同的解析技术,特别是LL和LR族解析器的构建原理和工作流程非常感兴趣,期待书中能够提供清晰的步骤和示例,让我能够理解如何从文法规则生成解析器,并最终构建出程序的抽象语法树(AST)。AST的构建和遍历是理解程序结构的基础,我希望能够深入掌握。语义分析是让编译器真正“理解”代码并进行静态检查的关键,我渴望学习如何进行类型检查、作用域分析、变量生命周期管理以及函数调用语义的验证,并了解如何设计和使用符号表来有效地管理这些信息。中间代码的生成是编译器设计中的一个重要环节,我希望了解三地址码、控制流图(CFG)等中间表示的生成方法,以及它们在后续优化和目标代码生成中的作用。代码优化是我非常感兴趣的一个领域,我希望能够掌握包括常量折叠、死代码删除、循环优化、函数内联、寄存器分配等在内的多种优化技术,并理解其背后的数据流和控制流分析。最后,目标代码生成部分,我期待能学习到如何将优化后的中间代码转化为特定处理器的汇编代码,理解指令选择、指令调度和寻址方式等技术。这本书的厚度预示着其内容的全面性和深度,我希望它能成为我系统学习编译原理并具备实际构建编译器能力的坚实基础。

评分

《编译原理与实现》这个书名,对我而言,简直是打开计算机科学核心领域大门的一把金钥匙。我一直对编程语言的“魔法”感到深深的好奇——那些我们用代码编写的指令,是如何被翻译成机器能够直接理解和执行的低级语言的?这本书的标题精准地抓住了我的兴趣点,让我确信它将为我揭示这个过程的奥秘。我特别关注书中“实现”这个词所蕴含的实际操作性和指导性,我期望它不仅能讲解理论,更能指导我如何一步步构建一个真正的编译器。在词法分析部分,我希望它能清晰地解释正则表达式是如何与有限自动机(FA)相对应的,以及如何利用这些工具来识别源程序中的各种语言元素(Token),包括关键字、标识符、运算符、分隔符等。在语法分析阶段,我对各种解析技术,尤其是LR(0)、SLR(1)、LALR(1)和LR(k)解析器的原理和构造过程充满兴趣,期待书中能够提供详尽的图解和算法描述,让我理解如何从文法规则生成解析器,并构建出程序的抽象语法树(AST)。AST的构建和遍历是理解程序结构的关键,我希望能够深入掌握。语义分析是编译器“理解”代码并进行静态检查的阶段,我渴望学习如何进行类型检查、作用域分析、变量声明和使用规则的验证,以及如何设计和使用符号表来管理这些信息。中间代码的生成是连接前端分析和后端生成的桥梁,我希望了解三地址码、控制流图(CFG)等中间表示的生成方法,以及它们在后续优化中的作用。代码优化是我非常关注的领域,我希望能够学习到各种经典的优化技术,如常量折叠、死代码删除、循环优化、函数内联、寄存器分配等,并理解这些优化是如何在不改变程序语义的前提下提升执行效率的。最后,目标代码生成部分,我期待能学习到如何将优化后的中间代码转化为特定机器架构的汇编语言,理解指令选择、指令调度等技术。这本书的篇幅预示着其内容的深度和广度,我希望它能成为我系统学习编译原理并具备实践能力的强大推力。

评分

初次翻开《编译原理与实现》,就被其厚重的纸张和沉甸甸的分量所震撼,仿佛握住了一本知识的宝藏。我一直对计算机底层运作的奥秘充满好奇,而编译,作为将人类可读的代码转化为机器指令的关键桥梁,更是我梦寐以求的探索领域。这本书的标题本身就传达了一种扎实、系统、深入的风格,让我对接下来的学习充满了期待。我尤其关心它是否能清晰地阐述从源代码到可执行文件的整个流程,包括词法分析、语法分析、语义分析、中间代码生成、代码优化以及目标代码生成等各个阶段。我希望这本书能够不仅仅是概念的堆砌,更能够通过大量的实例和图示,将这些抽象的概念具象化,让我能够直观地理解编译器的内部运作机制。例如,在词法分析部分,我期待能够看到如何利用正则表达式和有限自动机来识别编程语言中的各种符号,以及如何处理关键字、标识符、运算符、分隔符等。而在语法分析部分,我希望能深入了解各种解析技术,比如LL、LR、SLR、LALR等等,理解它们各自的优缺点以及在实际应用中的选择。更进一步,我希望书中能够提供一些关于编译器构造工具的介绍,比如Lex/Yacc或者Antlr,并展示如何利用这些工具来快速构建一个简单的编译器。我对如何处理各种复杂的语法结构,如递归、嵌套、左递归等感到尤为好奇,希望这本书能提供有效的解决方案。同时,代码优化也是我非常感兴趣的部分,了解如何进行常量折叠、死代码消除、循环优化、寄存器分配等技术,对于编写高效的程序至关重要。最后,对于目标代码生成,我希望能看到如何将中间表示转化为特定处理器的汇编代码,并理解其中的一些基本原理,例如指令选择、指令调度和寻址方式等。这本书的篇幅似乎预示着它将涵盖的知识范围之广,质量之高,让我迫不及待地想一头扎进这片知识的海洋。

评分

评分

评分

评分

评分

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.quotespace.org All Rights Reserved. 小美书屋 版权所有