当前位置:首页 » 编程软件 » 编译器研究生

编译器研究生

发布时间: 2022-09-18 05:13:42

① 关于计算机专业研究生研究方向

1、计算机应用技术
研究方向:计算机网络、实时计算机应用、CIMS、计算机图形学、并行计算、网络信息安全、数据库、情感计算、数据挖掘、分布式计算、知识工程、计算机视觉、自动推理、机器学习、草图理解、网络性能分析与协议设计、网络管理与安全、计算机图形学、信息可视化、基于GPU的高性能计算、复杂系统(应急、物流、海洋)领域工程、基于SOA的空间信息共享与业务协同、语义搜索引擎、自然语言处理、机器翻译、搜索引擎、空中交通信息系统与控制、民航信息与决策支持系统、智能交通系统理论与技术等。
专业特点:计算机应用技术是针对社会与各种企事业单位的信息化需求,通过对计算机软硬件与网络技术的选择、应用和集成,对信息系统进行需求分析、规划和设计,提供与实施技术与解决方案,创建优化的信息系统,并对其运行实行有效的技术维护和管理的学科。
培养这方面人才所涉及的知识面包括:数学与信息技术基础、程序设计基础、系统平台技术、计算机网络、信息管理与安全、人机交互、集成程序开发、系统架构与集成、Web与数字媒体技术、工程实施、职业操守等。培养目标是为企事业单位和政府机构提供首席信息官及承担信息化建设核心任务的人才,并提供为IT企业提供系统分析人才。
科研状况:本专业是天津市第一个计算机类博士点,主要从事计算机技术在其它领域应用中核心技术问题研究及相关信息系统开发。近年来在计算机集成制造(CIMS)、计算机辅助教学、虚拟现实技术应用、计算机工业控制、电子商务等方向承担国家863项目及重大项目、国家自然科学基金十余项。承担省部级及横向科研课题近百项。为国家和天津市的信息化建设做出了重要贡献。
近几年报考简况:本专业从80年代初开始招生,至今已为国家培养出硕士学位研究生300多名。近年来,报考人数和录取名额逐年同步增加。
硕士期间主要课程及论文要求:主要课程:高等计算机网络、计算理论、排队论及在计算机中的应用、应用组合数学、软件体系结构、面向对象方法学、分布式计算机系统、并行计算、高级计算机图形学、高级人工智能、模式识别与理解、机器学习、密码学与信息安全、统一建模语言。
论文要求:论文选题涉及计算机在各领域应用的理论研究、尖端技术开发、以及在国民经济各个领域的应用研究。论文应能全面反映本学科发展动态、具有科学性、先进性和一定的创新性。对于理论研究课题,要求达到较高的理论水平和创新;对于系统设计、系统开发及系统应用课题,要求指导理论正确,实现技术先进,设计新颖,所设计的系统应能付诸实现、具有实际应用价值并能够带来明显的社会经济效益。

就业方向:本专业培养的研究生具有坚实的计算机科学与技术的理论基础,全面掌握计算机应用领域的理论和工程方法,能很好地胜任高等院校、科研院所、大型企事业单位、高新技术产业等的教学、科研、系统设计、产品开发、应用系统集成等工作。
2、计算机软件与理论
研究方向:计算理论、算法理论; 软件工程、中间件、智能软件、计算环境;并行计算、网格计算、普及计算;密码学、信息安全、数据理论;图形图象算法、可视化方法;人工智能应用基础;理论计算机科学其他方向。
专业特点:计算机软件与理论专业涉及计算机科学与技术的基本理论和方法,强调计算、算法、软件、设计等概念,主要的领域包括计算理论、算法与复杂性、程序设计语言、软件设计与理论、数据库系统、人工智能、操作系统与编译理论、信息安全理论与方法、图形学与可视化计算、以网络为中心的计算等。
科研状况:计算机软件与理论专业是我院重点发展,进步较快的专业。近年来承担国家863、自然科学基金、,以及省部级项目多项。在网络信息安全、中间件技术、并行计算、网格计算、计算机图形学等方面取得了多项前沿性成果。
近几年报考简况:本专业从96年代初开始招生,至今已为国家培养出硕士学位研究生50多名。近年来,报考人数和录取名额逐年同步增加。
硕士期间主要课程及论文要求:主要课程:计算理论、应用组合数学、软件体系结构、面向对象方法学、分布式计算机系统、并行计算、高级计算机图形学、高级人工智能、模式识别与理解、机器学习、密码学与信息安全、统一建模语言。

论文要求:论文选题涉及计算机软件的理论研究、尖端技术开发、以及在国民经济各个领域的应用研究。论文应能全面反映本学科发展动态、具有科学性、先进性和一定的创新性。对于理论研究课题,要求达到较高的理论水平和创新;对于系统设计、系统开发及系统应用课题,要求指导理论正确,实现技术先进,设计新颖,所设计的系统应能付诸实现、具有实际应用价值并能够带来明显的社会经济效益。
就业方向:本专业培养的研究生具有坚实的计算机科学与技术的理论基础,全面掌握计算机软件的理论方法,以及软件工程、信息系统、并行计算、普及计算等等的软件系统开发技术,能很好地胜任高等院校、科研院所、大型企事业单位、高新技术产业等的教学、科研、系统设计、产品开发、应用系统集成等工作。
3、计算机系统结构
研究方向:分布式计算机系统、计算机网络系统与全球个人计算系统、真实感图形生成与虚拟现实技术
专业特点:计算机系统结构(原名计算机组织与系统结构)专业全面研究各种类型的计算机系统(从单机到网络)的构成、硬件与软件的联系与功能匹配、计算机系统性能评价与改进等。该专业的研究课题涉及高性能处理机系统结构、多机系统、并行计算与分布式计算系统、计算机系统性能评价、VLSL设计、容错计算技术、计算机接口技术、计算机网络系统与通信系统、移动计算、全球个人计算系统等。
科研状况:本专业近年来承担多项国家科委、国家教委、国家计委及天津市自然科学基金项目,并有多项科研获奖。其中G.T9112计算机解密系统获北京市公安局科技进步二等奖,表面高度复杂实体的CAM获国家科委科技进步二等奖。目前承担国家自然科学基金项目“面向ASIC的真实感图形算法和系统结构的研究”、国家高科技863项目“用于建筑环境仿真设计的分布式多用户虚拟现实系统”、天津自然科学基金项目“分布式多用户VR开发系统平台的研究”和一大批为企事业单位开发的横向科研项目。
近几年报考简况:本专业从80年代初开始招生,至今已为国家培养出硕士学位研究生50多名。近年来,报考人数和录取名额逐年同步增加。
硕士期间主要课程及论文要求:主要课程:应用数学、外语、高等计算机网络、排队论及在计算机中的应用、计算理论、现代计算机体系结构、计算机综合实验、计算机控制及应用、计算机网络研究热点问题、计算机系统仿真、量子计算、密码学与信息安全、面向对象方法学、嵌入式系统设计、统一建模语言、图象/模式识别与理解、机器学习、软件体系结构。
论文要求:论文选题涉及计算机系统结构的理论研究、尖端技术开发、以及在国民经济各个领域的应用研究。论文应能全面反映本学科发展动态、具有科学性、先进性和一定的创新性。对于理论研究课题,要求达到较高的理论水平和创新;对于系统设计、系统开发及系统应用课题,要求指导理论正确,实现技术先进,设计新颖,所设计的系统应能付诸实现、具有实际应用价值并能够带来明显的社会经济效益。
就业方向:本专业培养的研究生具有坚实的计算机科学与技术的理论基础,全面掌握计算机系统结构、计算机工程、网络工程、嵌入式系统等的应用开发技术、能很好地胜任高等院校、科研院所、大型企事业单位、高新技术产业等的教学、科研、系统设计、产品开发、应用系统集成等工作。
计算机系统结构 02 网络与信息安全
04 计算机通信,信息安全,多媒体信号处理 05 图形图像处理技术
07 计算机图形图像处理技术、嵌入式系统 09 计算机网络与图形图像处理 10 计算机网络与信息处理
11 输入输出技术与设备、图像处理与图像理解 12 信息安全理论与技术,嵌入式系统 13 网络安全
14 信息安全与编码
15 网络安全和网络计算 16 图形图像和外设
17 计算机输入输出技术与设备、图形图像处理与理解 考试科目:
①101政治理论②201英语③301数学(一)④431计算机基础(计算机基础包含离散数学45分;数据结构45分;计算机组成原理60分) 计算机软件与理论 02 面向对象技术
04 软件安全与编译器体系结构 06 分布计算与互联网技术
08 并行与分布计算,生物信息学算法 09 软件工程、信息系统 10 软件理论与应用
11 高可信软件技术、互联网计算与互联网软件、可编程芯片支持软件和嵌入式系统
12 软件测试与自演化技术 14 程序理解、软件再工程
15 计算智能的理论、方法与应用
16 高可信软件技术、互联网计算与互联网软件、可编程芯片支持软件和嵌入式系统

② 考研方向中有java方向的专业吗 有的话,哪些学校有

学习了java以后考研应该考软件工程,计算机技术。很多学校都有计算机技术专业。

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

简介:

软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。

在现代社会中,软件应用于多个方面。典型的软件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,也提高了工作效率和生活效率 。

③ 考计算机专业的研究生,大家感觉读哪个方向比较有前途

1、计算机应用技术
研究方向:计算机网络、实时计算机应用、CIMS、计算机图形学、并行计算、网络信息安全、数据库、情感计算、数据挖掘、分布式计算、知识工程、计算机视觉、自动推理、机器学习、草图理解、网络性能分析与协议设计、网络管理与安全、计算机图形学、信息可视化、基于GPU的高性能计算、复杂系统(应急、物流、海洋)领域工程、基于SOA的空间信息共享与业务协同、语义搜索引擎、自然语言处理、机器翻译、搜索引擎、空中交通信息系统与控制、民航信息与决策支持系统、智能交通系统理论与技术等。
专业特点:计算机应用技术是针对社会与各种企事业单位的信息化需求,通过对计算机软硬件与网络技术的选择、应用和集成,对信息系统进行需求分析、规划和设计,提供与实施技术与解决方案,创建优化的信息系统,并对其运行实行有效的技术维护和管理的学科。
培养这方面人才所涉及的知识面包括:数学与信息技术基础、程序设计基础、系统平台技术、计算机网络、信息管理与安全、人机交互、集成程序开发、系统架构与集成、Web与数字媒体技术、工程实施、职业操守等。培养目标是为企事业单位和政府机构提供首席信息官及承担信息化建设核心任务的人才,并提供为IT企业提供系统分析人才。
科研状况:本专业是天津市第一个计算机类博士点,主要从事计算机技术在其它领域应用中核心技术问题研究及相关信息系统开发。近年来在计算机集成制造(CIMS)、计算机辅助教学、虚拟现实技术应用、计算机工业控制、电子商务等方向承担国家863项目及重大项目、国家自然科学基金十余项。承担省部级及横向科研课题近百项。为国家和天津市的信息化建设做出了重要贡献。
近几年报考简况:本专业从80年代初开始招生,至今已为国家培养出硕士学位研究生300多名。近年来,报考人数和录取名额逐年同步增加。
硕士期间主要课程及论文要求:主要课程:高等计算机网络、计算理论、排队论及在计算机中的应用、应用组合数学、软件体系结构、面向对象方法学、分布式计算机系统、并行计算、高级计算机图形学、高级人工智能、模式识别与理解、机器学习、密码学与信息安全、统一建模语言。
论文要求:论文选题涉及计算机在各领域应用的理论研究、尖端技术开发、以及在国民经济各个领域的应用研究。论文应能全面反映本学科发展动态、具有科学性、先进性和一定的创新性。对于理论研究课题,要求达到较高的理论水平和创新;对于系统设计、系统开发及系统应用课题,要求指导理论正确,实现技术先进,设计新颖,所设计的系统应能付诸实现、具有实际应用价值并能够带来明显的社会经济效益。 就业方向:本专业培养的研究生具有坚实的计算机科学与技术的理论基础,全面掌握计算机应用领域的理论和工程方法,能很好地胜任高等院校、科研院所、大型企事业单位、高新技术产业等的教学、科研、系统设计、产品开发、应用系统集成等工作。
2、计算机软件与理论
研究方向:计算理论、算法理论; 软件工程、中间件、智能软件、计算环境;并行计算、网格计算、普及计算;密码学、信息安全、数据理论;图形图象算法、可视化方法;人工智能应用基础;理论计算机科学其他方向。
专业特点:计算机软件与理论专业涉及计算机科学与技术的基本理论和方法,强调计算、算法、软件、设计等概念,主要的领域包括计算理论、算法与复杂性、程序设计语言、软件设计与理论、数据库系统、人工智能、操作系统与编译理论、信息安全理论与方法、图形学与可视化计算、以网络为中心的计算等。
科研状况:计算机软件与理论专业是我院重点发展,进步较快的专业。近年来承担国家863、自然科学基金、,以及省部级项目多项。在网络信息安全、中间件技术、并行计算、网格计算、计算机图形学等方面取得了多项前沿性成果。 近几年报考简况:本专业从96年代初开始招生,至今已为国家培养出硕士学位研究生50多名。近年来,报考人数和录取名额逐年同步增加。
硕士期间主要课程及论文要求:主要课程:计算理论、应用组合数学、软件体系结构、面向对象方法学、分布式计算机系统、并行计算、高级计算机图形学、高级人工智能、模式识别与理解、机器学习、密码学与信息安全、统一建模语言。 论文要求:论文选题涉及计算机软件的理论研究、尖端技术开发、以及在国民经济各个领域的应用研究。论文应能全面反映本学科发展动态、具有科学性、先进性和一定的创新性。对于理论研究课题,要求达到较高的理论水平和创新;对于系统设计、系统开发及系统应用课题,要求指导理论正确,实现技术先进,设计新颖,所设计的系统应能付诸实现、具有实际应用价值并能够带来明显的社会经济效益。
就业方向:本专业培养的研究生具有坚实的计算机科学与技术的理论基础,全面掌握计算机软件的理论方法,以及软件工程、信息系统、并行计算、普及计算等等的软件系统开发技术,能很好地胜任高等院校、科研院所、大型企事业单位、高新技术产业等的教学、科研、系统设计、产品开发、应用系统集成等工作。 3、计算机系统结构
研究方向:分布式计算机系统、计算机网络系统与全球个人计算系统、真实感图形生成与虚拟现实技术
专业特点:计算机系统结构(原名计算机组织与系统结构)专业全面研究各种类型的计算机系统(从单机到网络)的构成、硬件与软件的联系与功能匹配、计算机系统性能评价与改进等。该专业的研究课题涉及高性能处理机系统结构、多机系统、并行计算与分布式计算系统、计算机系统性能评价、VLSL设计、容错计算技术、计算机接口技术、计算机网络系统与通信系统、移动计算、全球个人计算系统等。
科研状况:本专业近年来承担多项国家科委、国家教委、国家计委及天津市自然科学基金项目,并有多项科研获奖。其中G.T9112计算机解密系统获北京市公安局科技进步二等奖,表面高度复杂实体的CAM获国家科委科技进步二等奖。目前承担国家自然科学基金项目“面向ASIC的真实感图形算法和系统结构的研究”、国家高科技863项目“用于建筑环境仿真设计的分布式多用户虚拟现实系统”、天津自然科学基金项目“分布式多用户VR开发系统平台的研究”和一大批为企事业单位开发的横向科研项目。
近几年报考简况:本专业从80年代初开始招生,至今已为国家培养出硕士学位研究生50多名。近年来,报考人数和录取名额逐年同步增加。
硕士期间主要课程及论文要求:主要课程:应用数学、外语、高等计算机网络、排队论及在计算机中的应用、计算理论、现代计算机体系结构、计算机综合实验、计算机控制及应用、计算机网络研究热点问题、计算机系统仿真、量子计算、密码学与信息安全、面向对象方法学、嵌入式系统设计、统一建模语言、图
象/模式识别与理解、机器学习、软件体系结构。
论文要求:论文选题涉及计算机系统结构的理论研究、尖端技术开发、以及在国民经济各个领域的应用研究。论文应能全面反映本学科发展动态、具有科学性、先进性和一定的创新性。对于理论研究课题,要求达到较高的理论水平和创新;对于系统设计、系统开发及系统应用课题,要求指导理论正确,实现技术先进,设计新颖,所设计的系统应能付诸实现、具有实际应用价值并能够带来明显的社会经济效益。
就业方向:本专业培养的研究生具有坚实的计算机科学与技术的理论基础,全面掌握计算机系统结构、计算机工程、网络工程、嵌入式系统等的应用开发技术、能很好地胜任高等院校、科研院所、大型企事业单位、高新技术产业等的教学、科研、系统设计、产品开发、应用系统集成等工作。
计算机系统结构 02 网络与信息安全
04 计算机通信,信息安全,多媒体信号处理 05 图形图像处理技术
07 计算机图形图像处理技术、嵌入式系统 09 计算机网络与图形图像处理 10 计算机网络与信息处理
11 输入输出技术与设备、图像处理与图像理解 12 信息安全理论与技术,嵌入式系统 13 网络安全
14 信息安全与编码
15 网络安全和网络计算 16 图形图像和外设
17 计算机输入输出技术与设备、图形图像处理与理解 考试科目:
①101政治理论②201英语③301数学(一)④431计算机基础(计算机基础包含离散数学45分;数据结构45分;计算机组成原理60分) 计算机软件与理论 02 面向对象技术
04 软件安全与编译器体系结构 06 分布计算与互联网技术
08 并行与分布计算,生物信息学算法 09 软件工程、信息系统 10 软件理论与应用
11 高可信软件技术、互联网计算与互联网软件、可编程芯片支持软件和嵌入式系统
12 软件测试与自演化技术 14 程序理解、软件再工程
15 计算智能的理论、方法与应用
16 高可信软件技术、互联网计算与互联网软件、可编程芯片支持软件和嵌入式系统

④ 编译原理 学的是什么

编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。 编译原理是计算机专业设置的一门重要的专业课程。虽然只有少数人从事编译方面的工作,但是这门课在理论、技术、方法上都对学生提供了系统而有效的训练,有利于提高软件人员的素质和能力。 目前各个大学使用的教材机械工业出版社、国防工业出版社出版的《编译原理》。
编译原理课程
这门课程关注的是编译器方面的产生原理和技术问题,似乎和计算机的基础领域不沾边,可是编译原理却一直作为大学本科的 必修课程,同时也成为了研究生入学考试的必考内容。编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂。 我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专注解决一种的算法了。在20世纪 50年代,编译器的编写一直被认为是十分困难的事情,第一Fortran的编译器据说花了18年的时间才完成。在人们尝试编写编译器的同时,诞生了许多跟 编译相关的理论和技术,而这些理论和技术比一个实际的编译器本身价值更大。就犹如数学家们在解决着名的哥德巴赫猜想一样,虽然没有最终解决问题,但是其间 诞生不少名着的相关数论。

⑤ 考研复试用什么C语言编译器

建议用gcc,windows下面也有,是mingw或者cygwin。
因为测试的机器一般也是用Linux跑gcc来测试。
不过这些不是关键,只要你一直写标准C或标准C++就行,
再说复试用到一些普通的算法实现标准C语言足够了

⑥ 软件工程,现在开始考研的详细过程。每月每个阶段。谢谢各位学长了

软件工程全程班(黄璜学长全程)免费下载

链接:https://pan..com/s/1vYHItTQMvbhK-QcQQtyZ1w

提取码:85sf

软件工程是一门研究用工程化方法构建和维护有效、实用和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,也提高了工作效率和生活效率 。

⑦ 为什么要学习编译原理

大学课程为什么要开设编译原理呢?这门课程关注的是编译器方面的产生原理和技术问题,似乎和计算机的基础领域不沾边,可是编译原理却一直作为大学本科的必修课程,同时也成为了研究生入学考试的必考内容。编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂。我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专注解决一种的算法了。在20世纪50年代,编译器的编写一直被认为是十分困难的事情,第一Fortran的编译器据说花了18年的时间才完成。在人们尝试编写编译器的同时,诞生了许多跟编译相关的理论和技术,而这些理论和技术比一个实际的编译器本身价值更大。就犹如数学家们在解决着名的哥德巴赫猜想一样,虽然没有最终解决问题,但是其间诞生不少名着的相关数论。
推荐参考书
虽然编译理论发展到今天,已经有了比较成熟的部分,但是作为一个大学生来说,要自己写出一个像TurbocC,Java那样的编译器来说还是太难了。不仅写编译器困难,学习编译原理这门课程也比较困难。
第一本书的原名叫《CompilersPrinciples,Techniques,andTools》,另外一个响亮的名字就是龙书。原因是这本书的封面上有条红色的龙,也因为獗臼樵诒嘁朐?砘?嘴域确实?忻?所以很多国外的学者都直接取名为龙书。最近机械工业出版社已经出版了此书的中文版,名字就叫《编译原理》。该书出的比较早,大概是在85或86年编写完成的,作者之一还是着名的贝尔实验室的科学家。里面讲解的核心编译原理至今都没有变过,所以一直到今天,它的价值都非凡。这本书最大的特点就是一开始就通过一个实际的小例子,把编译原理的大致内容罗列出来,让很多编译原理的初学者很快心里有了个底,也知道为什么会有这些理论,怎么运用这些理论。而这一点是我感觉国内的教材缺乏的东西,所以国内的教材都不是写给愿意自学的读者,总之让人看了半天,却不知道里面的东西有什么用。
第二本书的原名叫《ModernCompilerDesign》,中文名字叫做《现代编译程序设计》。该书由人民邮电出版社所出。此书比较关注的是编译原理的实践,书中给出了不少的实际程序代码,还有很多实际的编译技术问题等等。此书另外一个特点就是其现代而字。在传统的编译原理教材中,你是不可能看到如同Java中的垃圾回收等算法的。因为Java这样的解释执行语言是在近几年才流行起来的东西。如果你想深入学习编译原理的理论知识,那么你肯定得看前面那本龙书,如果你想自己动手做一个先进的编译器,那么你得看这本《现代编译程序设计》。
第三本书就是很多国内的编译原理学者都推荐的那本《编译原理及实践》。或许是这本书引入国内比较早吧,我记得我是在高中就买了这本书,不过也是在前段时间才把整本书看完。此书作为入门教程也的确是个不错的选择。书中给出的编译原理讲解也相当细致,虽然不如前面的龙书那么深入,但是很多地方都是点到为止,作为大学本科教学已经是十分深入了。该书的特点就是注重实践,不过感觉还不如前面那本《现代编译程序设计》的实践味道更重。此书的重点还是在原理上的实践,而非前面那本那样的技术实践。《编译原理及实践》在讲解编译原理的各个部分的同时,也在逐步实践一个现代的编译器TinyC.等你把整本书看完,差不多自己也可以写一个TinyC了。作者还对Lex和Yacc这两个常用的编译相关的工具进行了很详细的说明,这一点也是很难在国内的教材中看到的。
推荐了这三本教材,都有英文版和中文版的。很多英文好的同学只喜欢看原版的书,不我的感觉是这三本书的翻译都很不错,没有必要特别去买英文版的。理解理论的实质比理解表面的文字更为重要。
编译原理的实质
几乎每本编译原理的教材都是分成词法分析,语法分析(LL算法,递归下降算法,LR算法),语义分析,运行时环境,中间代码,代码生成,代码优化这些部分。其实现在很多编译原理的教材都是按照85,86出版的那本龙书来安排教学内容的,所以那本龙书的内容格式几乎成了现在编译原理教材的定式,包括国内的教材也是如此。一般来说,大学里面的本科教学是不可能把上面的所有部分都认真讲完的,而是比较偏重于前面几个部分。像代码优化那部分东西,就像个无底洞一样,如果要认真讲,就是单独开一个学期的课也不可能讲得清楚。所以,一般对于本科生,对词法分析和语法分析掌握要求就相对要高一点了。
词法分析相对来说比较简单。可能是词法分析程序本身实现起来很简单吧,很多没有学过编译原理的人也同样可以写出各种各样的词法分析程序。不过编译原理在讲解词法分析的时候,重点把正则表达式和自动机原理加了进来,然后以一种十分标准的方式来讲解词法分析程序的产生。这样的做法道理很明显,就是要让词法分析从程序上升到理论的地步。
语法分析部分就比较麻烦一点了。现在一般有两种语法分析算法,LL自顶向下算法和LR自底向上算法。LL算法还好说,到了LR算法的时候,困难就来了。很多自学编译原理的都是遇到LR算法的理解成问题后就放弃了自学。其实这些东西都是只要大家理解就可以了,又不是像词法分析那样非得自己写出来才算真正的会。像LR算法的语法分析器,一般都是用工具Yacc来生成,实践中完全没有比较自己来实现。对于LL算法中特殊的递归下降算法,因为其实践十分简单,那么就应该要求每个学生都能自己写。当然,现在也有不少好的LL算法的语法分析器,不过要是换在非C平台,比如Java,Delphi,你不能运用YACC工具了,那么你就只有自己来写语法分析器。
等学到词法分析和语法分析时候,你可能会出现这样的疑问:词法分析和语法分析到底有什么?就从编译器的角度来讲,编译器需要把程序员写的源程序转换成一种方便处理的数据结构(抽象语法树或语法树),那么这个转换的过程就是通过词法分析和语法分析的。其实词法分析并非一开始就被列入编译器的必备部分,只是我们为了简化语法分析的过程,就把词法分析这种繁琐的工作单独提取出来,就成了现在的词法分析部分。除了编译器部分,在其它地方,词法分析和语法分析也是有用的。比如我们在DOS,Unix,Linux下输入命令的时候,程序如何分析你输入的命令形式,这也是简单的应用。总之,这两部分的工作就是把不规则的文本信息转换成一种比较好分析好处理的数据结构。那么为什么编译原理的教程都最终把要分析的源分析转换成树这种数据结构呢?数据结构中有Stack,Line,List这么多数据结构,各自都有各自的特点。但是Tree这种结构有很强的递归性,也就是说我们可以把Tree的任何结点Node提取出来后,它依旧是一颗完整的Tree。这一点符合我们现在编译原理分析的形式语言,比如我们在函数里面使用函树,循环中使用循环,条件中使用条件等等,那么就可以很直观地表示在Tree这种数据结构上。同样,我们在执行形式语言的程序的时候也是如此的递归性。在编译原理后面的代码生成的部分,就会介绍一种堆栈式的中间代码,我们可以根据分析出来的抽象语法树,很容易,很机械地运用递归遍历抽象语法树就可以生成这种指令代码。而这种代码其实也被广泛运用在其它的解释型语言中。像现在流行的Java,.NET,其底层的字节码bytecode,可以说就是这中基于堆栈的指令代码的。
关于语义分析,语法制导翻译,类型检查等等部分,其实都是一种完善前面得到的抽象语法树的过程。比如说,我们写C语言程序的时候,都知道,如果把一个浮点数直接赋值给一个整数,就会出现类型不匹配,那么C语言的编译器是怎么知道的呢?就是通过这一步的类型检查。像C++语言这中支持多态函数的语言,这部分要处理的问题就更多更复杂了。大部编译原理的教材在这部分都是讲解一些比较好的处理策略而已。因为新的问题总是在发生,旧的办法不见得足够解决。
本来说,作为一个编译器,起作用的部分就是用户输入的源程序到最终的代码生成。但是在讲解最终代码生成的时候,又不得不讲解机器运行环境等内容。因为如果你不知道机器是怎么执行最终代码的,那么你当然无法知道如何生成合适的最终代码。这部分内容我自我感觉其意义甚至超过了编译原理本身。因为它会把一个计算机的程序的运行过程都通通排在你面前,你将来可能不会从事编译器的开发工作,但是只要是和计算机软件开发相关的领域,都会涉及到程序的执行过程。运行时环境的讲解会让你更清楚一个计算机程序是怎么存储,怎么装载,怎么执行的。关于部分的内容,我强烈建议大家看看龙书上的讲解,作者从最基本的存储组织,存储分配策略,非局部名字的访问,参数传递,符号表到动态存储分配(malloc,new)都作了十分详细的说明。这些东西都是我们编写平常程序的时候经常要做的事情,但是我们却少去探求其内部是如何完成。
关于中间代码生成,代码生成,代码优化部分的内容就实在不好说了。国内很多教材到了这部分都会很简单地走马观花讲过去,学生听了也只是作为了解,不知道如何运用。不过这部分内容的东西如果要认真讲,单独开一学期的课程都讲不完。在《编译原理及实践》的书上,对于这部分的讲解就恰到好处。作者主要讲解的还是一种以堆栈为基础的指令代码,十分通俗易懂,让人看了后,很容易模仿,自己下来后就可以写自己的代码生成。当然,对于其它代码生成技术,代码优化技术的讲解就十分简单了。如果要仔细研究代码生成技术,其实另外还有本叫做《》,那本书现在由机械工业出版社引进的,十分厚重,而且是英文原版。不过这本书我没有把它列为推荐书给大家,毕竟能把龙书的内容搞清楚,在中国已经就算很不错的高手了,到那个时候再看这本《》也不迟。代码优化部分在大学本科教学中还是一个不太重要的部分,就是算是实践过程中,相信大家也不太运用得到。毕竟,自己做的编译器能正确生成执行代码已经很不错了,还谈什么优化呢?
编译原理的课程毕竟还只是讲解原理的课程,不是专门的编译技术课程。这两门课程是有很大的区别的。编译技术更关注实际的编写编译器过程中运用到的技术,而原理的课

⑧ 哪些大学有软件工程方向的研究生

重庆大学、北京大学和北京理工大学等有软件工程方向的研究生。

软件工程专业
简介
软件工程专业是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。
学科地位
软件工程学科是计算学科的分支,计算学科中理论、抽象、设计等三个学科形态,绑定、大问题的复杂性、概念和形式模型、一致性和完备性、效率、演化、抽象层次、按空间排序、按时间排序、重用、安全性、折衷与决策等十二个基本概念,数学方法、系统科学方法在软件工程学科中占有重要地位。此外,软件工程还十分重视管理过程,以提高软件产品的质量、降低开发成本、保证工程按时完成。系统性、规范性、可度量性也是软件工程非常关注的。
软件工程学科的理论基础是数学、计算机科学。软件工程的研究和实践涉及人力、技术、资金、进度的综合管理,是开展最优化生产活动的过程;软件工程必须划分系统的边界,给出系统的解决方案。因此,软件工程的相关学科有计算机科学与技术、数学、计算机工程、管理学、系统工程和人类工程学等。
就业岗位
Java方向:JAVA初级程序员、JAVA计算程序员 、 JAVA工程师 、J2EE系统工程师等。
.Net方向: .Net程序员网站开发工程师 .Net工程师等。
其它方向: 简单的管理信息系统开发和维护人员 、网页制作和客户端脚本程序编写人员 、初级数据库管理和维护人员 、数据库开发工程师 、系统分析设计工程 、软件项目配置管理员 、文档编写工程师。

⑨ 软件工程专业考研考什么科目

软件工程(王良)免费下载

链接:https://pan..com/s/19bsLnjG_G5mX3sK5VQo1xg

提取码:3jce

软件工程是一门研究用工程化方法构建和维护有效、实用和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,也提高了工作效率和生活效率 。

热点内容
安卓手机九宫格忘记密码怎么解 发布:2025-05-11 05:00:30 浏览:594
安卓手机拼多多怎么解绑银行卡 发布:2025-05-11 05:00:25 浏览:685
校园网可以搭建服务器地址 发布:2025-05-11 04:54:40 浏览:784
noip算法 发布:2025-05-11 04:53:51 浏览:50
有什么我的世界服务器启动器 发布:2025-05-11 04:50:41 浏览:295
写shell脚本 发布:2025-05-11 04:37:41 浏览:935
电脑服务器打开有什么用 发布:2025-05-11 04:36:49 浏览:98
sqlserver2008查询时间 发布:2025-05-11 04:15:28 浏览:386
安卓孤胆车神被封号怎么解封 发布:2025-05-11 04:05:22 浏览:940
高压洗车泡沫怎么配置 发布:2025-05-11 04:00:47 浏览:547