Ⅰ 编译器前端开发
编译器粗略分为词法分析,语法分析,类型检查,中间代码生成,代码优化,目标代码生成,目标代码优化。把中间代码生成及之前阶段划分问编译器的前端,那么后端与前端是独立的。后端只需要一种中间代码表示,可以是三地址代码或四元式等,而这些都与前端生成的方式无关。也就是不论你前端是用fortran还是c/c++,只要生成了中间代码表示就可以了,后端是不管你是用哪种语言生成的。
Ⅱ 是不是每种处理器都要开发自己的编译器,比如inter的cpu,arm,51单片机等
每个处理器厂家都会开发本身的编译器。这是硬体设计与系统工程师的工作。软件编辑员一般都不需染手此东西。是否每个牌子的处理器都须有自己的编译器呢?未必。
比如Intel,AMD,VIA 同是用x86平台都可享用Intel的编译器。
又如Siemens, SGI,NEC 同出产MIPS平台的处理器都可享用MIPS 的编译器。
但有些特别指令如INTEL的MMX,SSE1,2,3,4;AMD的3DNOW,AMD64 等就有劳个产家编写。
如没有特别指令编译器, 软件会出错吗?很多高档程序编辑软体都会翻译及处理,用标准指令来取代特别指令(应该说不用特别指令),当然执行速度会慢过特别指令。
Ⅲ 编译器开发 与 嵌入式开发 哪个未来的前景比较好
嵌入式开发吧,编译器开发目前入门难,提高更难,而且又偏门。嵌入式运用广而且需求大,未来潜力大!
Ⅳ 编译器的历史
20世纪50年代,IBM的John Backus带领一个研究小组对FORTRAN语言及其编译器进行开发。但由于当时人们对编译理论了解不多,开发工作变得既复杂又艰苦。与此同时,Noam Chomsky开始了他对自然语言结构的研究。他的发现最终使得编译器的结构异常简单,甚至还带有了一些自动化。Chomsky的研究导致了根据语言文法的难易程度以及识别它们所需要的算法来对语言分类。正如Chomsky架构(Chomsky Hierarchy),它包括了文法的四个层次:0型文法、1型文法、2型文法和3型文法,且其中的每一个都是其前者的特殊情况。2型文法(或上下文无关文法)被证明是程序设计语言中最有用的,而且今天它已代表着程序设计语言结构的标准方式。分析问题(parsing problem,用于上下文无关文法识别的有效算法)的研究是在60年代和70年代,它相当完善的解决了这个问题。它已是编译原理中的一个标准部分。
有限状态自动机(Finite Automation)和正则表达式(Regular Expression)同上下文无关文法紧密相关,它们与Chomsky的3型文法相对应。对它们的研究与Chomsky的研究几乎同时开始,并且引出了表示程序设计语言的单词的符号方式。
人们接着又深化了生成有效目标代码的方法,这就是最初的编译器,它们被一直使用至今。人们通常将其称为优化技术(Optimization Technique),但因其从未真正地得到过被优化了的目标代码而仅仅改进了它的有效性,因此实际上应称作代码改进技术(Code Improvement Technique)。
当分析问题变得好懂起来时,人们就在开发程序上花费了很大的功夫来研究这一部分的编译器自动构造。这些程序最初被称为编译器的编译器(Compiler-compiler),但更确切地应称为分析程序生成器(Parser Generator),这是因为它们仅仅能够自动处理编译的一部分。这些程序中最着名的是Yacc(Yet Another Compiler-compiler),它是由Steve Johnson在1975年为Unix系统编写的。类似的,有限状态自动机的研究也发展了一种称为扫描程序生成器(Scanner Generator)的工具,Lex(与Yacc同时,由Mike Lesk为Unix系统开发)是这其中的佼佼者。
在20世纪70年代后期和80年代早期,大量的项目都贯注于编译器其它部分的生成自动化,这其中就包括了代码生成。这些尝试并未取得多少成功,这大概是因为操作太复杂而人们又对其不甚了解。
编译器设计最近的发展包括:首先,编译器包括了更加复杂算法的应用程序它用于推断或简化程序中的信息;这又与更为复杂的程序设计语言的发展结合在一起。其中典型的有用于函数语言编译的Hindley-Milner类型检查的统一算法。其次,编译器已越来越成为基于窗口的交互开发环境(Interactive Development Environment,IDE)的一部分,它包括了编辑器、连接程序、调试程序以及项目管理程序。这样的IDE标准并没有多少,但是对标准的窗口环境进行开发已成为方向。另一方面,尽管在编译原理领域进行了大量的研究,但是基本的编译器设计原理在近20年中都没有多大的改变,它正迅速地成为计算机科学课程中的中心环节。
在20世纪90年代,作为GNU项目或其它开放源代码项目标一部分,许多免费编译器和编译器开发工具被开发出来。这些工具可用来编译所有的计算机程序语言。它们中的一些项目被认为是高质量的,而且对现代编译理论感兴趣的人可以很容易的得到它们的免费源代码。
大约在1999年,SGI公布了他们的一个工业化的并行化优化编译器Pro64的源代码,后被全世界多个编译器研究小组用来做研究平台,并命名为Open64。Open64的设计结构好,分析优化全面,是编译器高级研究的理想平台。
编译器相关专业术语: 1. compiler编译器;编译程序 2. on-line compiler 连线编译器 3. precompiler 预编译器 4. serial compiler 串行编译器 5. system-specific compiler 特殊系统编译器 6. Information Presentation Facility Compiler 信息展示设施编译器 7. Compiler Monitor System 编译器监视系统
Ⅳ 在JAVA语言中,管理类名空间的关键词是什么
人事考勤管理系统
摘 要:
本文主要论述了人事管理系统中考勤管理的开发过程。其中包括前言、系统功能设计、注释、参考文献等内容。在前言中我将对人事考勤管理的发展过程以及目前我国人事考勤管理发展的现状进行简单的论述,还将阐述我所设计的人事考勤管理系统的目的和意义。在系统功能设计中将包括:开发环境和应用、系统功能的详细设计过程,其中包括:开发方法、开发平台和工具、系统规划和分析、系统设计、系统的运行与维护、对人事考勤管理系统发展的展望、以及开发总结。注释中将对系统功能设计中引用他人的观点及原话、主要数据等注明出处,对需要解释的内容,进行加注说明。在参考文献中将程序设计过程中所用到的参考文献按文中引用出现的顺序列全,附于文末。论文将采用图、文、表等多种方式进行全面详细地论述,会用到数据库的选用、数据库驱动程序的选择和安装、管理界面的设计,JAVA程序语言、信息的存储和读取、软件工程等知识。
:
人事考勤管理系统;系统功能设计;数据库;JAVA
目 录
前言 4
1 可行性分析报告 5
1.1. 引言 5
1.1.1. 题目: 5
1.1.2. 目的: 5
1.1.3. 开发环境: 5
1.2. 可行性研究的前提 5
1.2.1. 系统要求 5
1.2.2. 系统目标 6
1.2.3. 现有系统分析 6
1.3. 可行性分析 6
1.3.1. 技术可行性性分析 6
1.3.2. 经济可行性分析 6
1.3.3. 社会因素可行性分析 6
2 开发计划 7
2.1. 项目概述 7
2.2. 开发步骤 7
2.2.1. 系统规划 7
2.2.2. 系统开发 7
2.3. 开发模型 8
2.4. 实施计划 8
2.4.1 开发人数:1人,指导老师1人 8
2.4.2 开发语言: JAVA 8
2.4.3 开发进度: 8
3 系统需求分析 9
3.1 任务概述 9
3.1.1 目标 9
3.1.2 运行环境 9
3.2 数据描述 9
3.2.1 数据流图 9
3.2.2 数据字典 10
3.2.3 E-R图 11
3.3 功能需求 11
4 总体设计 12
4.1 数据库结构设计 12
4.1.1 概述 12
4.1.2 数据库的建立 12
4.1.3 数据库备份 15
4.2 系统功能详细设计 16
4.2.1 登陆界面 16
4.2.2 人事管理系统主界面 22
4.2.3 人员信息录入界面 32
4.2.4 人员信息修改界面 37
4.2.5 人员信息查询界面 42
4.2.6 上班登记界面 45
4.2.7 下班登记界面 50
4.2.8 人员考勤信息统计界面 53
5 测试计划与分析 57
5.1 概述 57
5.2 测试方法 57
5.3 测试步骤 57
5.3.1 分析数据 57
5.3.2 第一步划分等价类 58
5.3.3 确定测试用例 58
5.4 测试结果 58
6 系统开发总结 59
6.1 概述 59
6.2 对人力资源系统的展望 59
7 系统维护 60
7.1 概述 60
7.2 系统维护的内容 60
7.2.1 系统应用程序维护: 60
7.2.2 数据维护: 60
7.2.3 代码维护: 60
7.2.4 硬件设备维护: 60
7.3 系统维护的组织与管理 60
8 致谢 61
9 参考文献 62
前言
近几年来,随着人事制度改革的不断深化,人事考勤管理工作发展很快,不仅人员的数量成倍增加,而且服务范围也不断拓展,这种新形势给我国的管理工作提出了新的要求,原来手工操作的管理方式已经落伍,面对这种状况,人事考勤管理也已经信息化.人事考勤管理系统充分体现了"管理以人为本"的先进理念,提炼融合了现代人力资源管理思想,有机结合了我国近10年长期档案管理工作的实际经验,从用户实际出发,以建立中央数据库为基础,大大提高了该软件产品的针对性和通用性;利用计算机的自动化操作,自动生成各类文档,报表,彻底改变以往只能借助纸张介质手工操作,不仅效率低,且频繁出错的现状,协助管理者真正实现"办公网络化,管理数字化,决策科学化",是一个理想的数字化工作平台;完善的数据维护功能满足了用户对安全保密性的特殊要求;该软件具有全新的界面风格和视觉效果,丰富的选项与下拉式菜单结构,操作起来更加灵活方便,随着形势的变化和工作实际需要,软件已考虑升级设计。人事考勤管理系统从产生到现在已经经历了单项数据处理阶段、 综合数据处理阶段 、人事考勤管理系统阶段等几个阶段。但是在我国,由于各种原因,人事考勤管理系统的发展尚处于初级阶段。尽管如此,充分利用我们现有的资源和技术力量,开发一些适合本企业或者本行业的人事考勤管理系统,还是非常必要的。
1 可行性分析报告
1.1. 引言
1.1.1. 题目:
人事考勤管理系统
1.1.2. 目的:
提高人事考勤管理工作效率,减少人力的资源的浪费, 提高精确度,开发一个使用方便、快捷、精确、安全的人事考勤管理系统。
1.1.3. 开发环境:
1) 硬件资源:
a) CPU: Pentium(R) 4 1500MHz
b) 内存:256MB
c) 硬盘:40G
d) 显示器:分辩率1440x900的19寸宽屏液晶显示器
2) 软件资源:
a) 操作系统: WINDOWS XP
b) 数据库:SQL Server 2005
c) 编写语言:JAVA(jdk-1_5_0_12-windows-i586-p)
d) 编译器:MyEclipse Enterprise Workbench 5.1.0 GA
1.2. 可行性研究的前提
1.2.1. 系统要求
1) 功能要求:
所编系统应具有人员信息添加、修改、删除功能,查询功能,上下班的等级功能,还能将人员考勤信息列表。人员信息应包括:工号,姓名,性别,年龄,出生日期,户口所在地,政治面貌,职务,工资,入职时间,地址,邮编
2) 安全与保密要求:
人员个人信息、考勤信息均由人事部主管或系统管理员管理,不允许其他人随便登陆,不允许信息外流。
1.2.2. 系统目标
1) 节省人力
2) 提高工作效率
3) 提高精确度
4) 方便灵活
1.2.3. 现有系统分析
我国的计算机应用于企业管理,只是在70年代末期以后才逐渐开展起来的。目前,计算机辅助管理已在我国的各行各业得到了广泛地应用,但总的来说,计算机在我国管理中的应用,还处于初级阶段,尽管近两年发展较快,但还需要不断地探索和研究。尤其是计算机辅助考勤管理仅是近几年才在我国得到普及和发展,而在许多发达国家计算机辅助考勤管理已十分普及,因此对这方面的研究是必要的,它将推动我国企业的发展和考勤管理信息处理的现代化。
现有的人事考勤管理系统大多数用Visual Basic编写,其界面美观,开发时简单、灵活,是一个面向对象的开发工具,但弹性较差。而我采用的则是JAVA,JAVA是安全性和可靠性较高的语言,提供严密的语法规则,在编译和运行时严格检查错误,它是多线程高效的网络编程。
1.3. 可行性分析
1.3.1. 技术可行性性分析
我所开发的人事考勤管理系统,是一个使用简单、方便灵活的系统,它面向于中小型企业,而中小型企业的人员少,计算机所处理的数据少,所以对计算机性能要求较低。现有的计算机已可以达到所需的信息处理速度。
数据输入采用的是键盘输入,输出采用显示器输出,现有的设备已经可以承担所要求的数据输入/输出功能。
开发时所需要的硬件已经具备,所需要的软件包括SQL、JAVA、MyEclipse都已安装完毕。
1.3.2. 经济可行性分析
由于我所开发的人事考勤管理系统是面向中小型企业,比较简单、成本较低
1.3.3. 社会因素可行性分析
本系统开发不会侵犯他人、集体获国家的利益、没有违反国家的法律法规
2 开发计划
2.1. 项目概述
近几年随着我国软件工程的普及,人事管理也面向自动化发展,自动化操作,自动生成各类文档,报表,彻底改变以往只能借助纸张介质手工操作,不仅效率低,且频繁出错的现状,协助管理者真正实现"办公网络化,管理数字化,决策科学化",是一个理想的数字化工作平台;完善的数据维护功能满足了用户对安全保密性的特殊要求。
2.2. 开发步骤
2.2.1. 系统规划
明确系统的背景、系统现状、开发的理由和条件做好系统可行性分析
2.2.2. 系统开发
1) 系统分析
系统初步调查
系统可行性研究
现行系统的详细调查
新系统逻辑方案的提出
2)系统设计
系统总体结构设计
系统总体功能设计
系统总体物理结构设计
系统详细设计
数据库设计
代码设计
输入输出设计
3)系统实施
程序设计
系统测试
4) 系统的运行及维护
5) 系统评价
2.3. 开发模型
我采用的是瀑布模型,将软件生存周期的各项活动规定为依照固定顺序连接的若干阶段工作,形如瀑布流水,最终得到软件产品。它结构化软件的开发、控制软件开发的复杂度、促进软件开发工程化,是用于中小型企业软件开发。如图1所示
图1 具有反馈回路的瀑布模型
2.4. 实施计划
2.4.1 开发人数:1人,指导老师1人
2.4.2 开发语言: JAVA
2.4.3 开发进度:
Ⅵ android用什么编译器来开发
android studio以及eclipse
Android Studio 是一个Android开发环境,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。
而Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。
Ⅶ 编译器,想了解一下,现在开发编译器究竟是在开发些什么,以及开发过程如何
编译器,大多是商业用途的。希望采纳