论文部分内容阅读
当今世界每天产生海量的信息,这么多的信息通过各种方式在全世界范围内进行传播。作为个人或企业都会接触到大量的数据信息,要管理和操纵这些数据信息,数据库就是必不可少的工具,其中数据库管理系统(Database Management System)简称DBMS是这个系统的核心。它既能保证数据库的安全性和完整性,又能对数据库进行全面的操纵和管理。DBMS主要提供的功能有长久的存储、编程接口、事务管理等。要实现这些功能数据库引擎至关重要,它是用于存储、处理和保护数据的核心服务。本文以SQL语言预编译器的构建为基础,包括从编译原理的相关知识出发,再到词法分析程序和语法分析程序,最后到代码产生和优化,把整个编译过程和对SQL语言的处理进行了详细的阐述。系统中的SQL语言是标准语言,它是一种高级的非过程化编程语言,用户能够应用它在较高级别的基础上进行工作,也不用制定对数据库的存储方式。本文首先阐述了编译过程的各个阶段及其相关知识,包括:正则表达式、有限自动机、上下文无关文法、LALR(1)文法等。然后对几个主要的编译阶段和过程以本系统构建的方法为基础进行了详实的介绍,其中有如何利用LEX和YACC工具生成词法分析程序和语法分析程序,并给出了它们在SQL语言编译器实现过程中的具体应用。再对SQL预编译器构建的方法和相关技术路线做了详细的说明。SQL预编译器的整体设计思想是先由LEX词法生成工具构建出词法分析器,然后再由YACC语法生成工具构建出语法分析器,这两个分析器作为整个编译系统的核心。再由虚拟机作为中间环节,最后由B-Tree和缓冲区模块构成后部,再加上操作系统提供API接口,这样就共同组成实现了SQL预编译器。