脚本语言-程序设计语言原理.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《脚本语言-程序设计语言原理.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 脚本语言 程序设计语言 原理
- 资源描述:
-
1、描述性程序设计语言描述性程序设计语言Declarative LanguagesDeclarative LanguagesDeclarativeImperativeConcurrentDeterministic更关注描述冯诺依曼机如何执行冯诺依曼单机网络环境小规模软件小规模软件大规模软件大规模软件不同的软件开发方法更关注如何描述更关注如何描述问题本身,更脱问题本身,更脱离实际运行环境离实际运行环境Declarative Languages 走出去:某一个环境下编写的程序要能在其他环境下执行。请进来:其他环境下编制的程序要能为我的环境所使用。走出去走出去 平台无关(编程语言)放置标示 脚本语言 服
2、务计算语言 本体描述语言走出去走出去 源程序经过编译生成的目标码是与本地机紧密相关的。表现在:基本类型定义与及其字长相关;各机指令集不一,操作效果相当,实现过程有微小的差别;同一语言在相同编译和执行环境下,同一程序执行速度不一(硬件差异,优化次数);平台无关 可移植性(portability)-为减少开发费用和开发时间。程序员可移植:用户会了某种语言到任何能实现该语言的环境上即可编制程序而不需其它知识;程序可移植:在该语言的某个环境上编制的程序拿到有该语言实现的另一个环境上可以照样运行,程序的计算,语义不变。平台无关 已采用增加可移植手段。设预定义环境(包)Ada;分出头文件-宏-编译文件C;
3、平台无关 网络计算的兴起使可移植性上升为平台无关性。平台无关 局域网时代,需要在局域网内实现信息共享,有协作计算需求。网络协议栈实现了数据的平台无关;以文件共享形式实现;客户/服务器模式,程序可以不共享;只要局域网内使用相同或相互兼容的平台,也可以实现程序的共享。平台无关 Internet时代,对资源共享提出了新的要求:局域网的规模和结构是可控制的;但是,没有任何个人和机构可以控制Internet的构成。WWW(World Wide Web)是Internet上最广泛的信息发布/浏览方式。与FTP等以往的方式相比较,WWW具有较强的动态性和交互性,需要完成复杂的应用(如电子商务等)因此,共享资
4、源不但包括数据,也应包括程序。这就需要一种平台无关的语言。激烈的竞争迫使软件生产者不断降低开发成本,缩短开发周期。平台无关语言使开发者不需要为一个软件开发多个操作系统的版本,减少了开发费用和时间。平台无关 平台无关语言(编程语言)的实现:传送源代码 将源代码传送到目标机,先经过编译,生成目标机代码,再执行。前提是必须有不同平台的编译器,这种情况往往在编译时缺乏源代码原有的环境信息(全程量),且只能先编译存入目标码再运行。局域网时代服务器已经做过了。要实时运行只能是解释(也要求有完整的信息)型语言。传送目标代码 只有在相同或相互兼容的平台之间才可以实现。如在Windows NT/9x组成的局域网
5、中,可以在一台机器上调用执行其它机器上的应用程序。传送中间代码 中间代码由源代码经过编译生成。中间代码经过优化。中间代码传送到目标机上由解释器解释执行。Java语言使用的是这种方式。Java对平台无关性的支持方法 保留了高级语言的主要机制 与C+基本相同的字符集、标识符、关键字、运算符、特殊符号 比C+更加强化类型。增加了布尔类型,只保留数组类型;使用真正的类型转换(C+中的类型转换是“伪”的,目的是为了通过编译器的检查;Java中的类型转换在运行时真正发生,如果不能转换,系统会抛出异常)保留声明、作用域、变量、表达式、语句、三种结构化控制;保留并增强C+的异常;与C+相似的面向对象机制:类作
6、为特殊类型、构造函数、初始化序列、实例变量、this/super、方法的覆盖与重载、成员可见性。取消了C+不利于网络应用的机制:指针。以对象引用代替指针;取消头文件和预处理器(宏与机器相关);C+中原有冗余:struct、union都被类代替;不支持模板,动态束定功能可实现;取消typedef;不支持运算符重载;平台无关 编译解释执行。Java语言实现平台无关的关键是使用了“编译-解释”执行方式。Java源代码经过编译,称为Java字节代码(byte-code)。Java虚拟机(VM)是字节代码的解释器。JavaVM是用软件构造的一个虚拟计算机,它由虚拟的寄存器、内存、堆栈等;字节代码就是这台
7、虚拟计算机的指令。所有操作系统上的JavaVM执行一致的指令,这样,就屏蔽了各个平台之间的差异(如下图所示)。Java字节代码JavaVM forWindowsJavaVM forSolarisJavaVM forMac OSWindowsSolarisMac OSJava虚拟机是平台无关性的关键在不同的操作系统上有不同的Java虚拟机,向上有一致的接口(虚拟机的指令字节代码),向下针对不同的操作系统有不同的实现方式。平台无关 即时编译(JIT:Just-in-Time Compile)。使用即时编译是为了提高Java程序的执行效率,是对Java解释器的改进。即时编译在虚拟机解释执行Java字
8、节代码时发生。当虚拟机第一次调用某个方法时,不再直接解释这个方法的字节代码,而是用即时编译器将这个方法的字节代码编译成为本机目标代码,然后执行这些目标代码。即时编译不是将整个类的字节代码进行一次性编译,而是只编译正在执行的函数,“边执行,边编译”。第三代JVM采用近年发展出的动态编译技术。P.javajavacP.classJVM类装入器和字节代码校验本地 O.S网络P.classnative.codeprofile全面优化器JIT编译器探测器解释器动态编译器走出去走出去 平台无关 放置标示 脚本语言 服务计算语言 本体描述语言放置标示放置标示 标记语言/置标语言不是程序设计语言,是电子文档发
9、展以后,以计算机或网上自动处理电子文档而设计的语言。它们一般解释执行,平台无关。电子文档三类标准:信息的基本表达,信息结构描述,电子信息再现处理。放置标示放置标示 置标语言就是定义标记及其使用规则的语言。它不属于程序设计语言,因为它不能按任意计算模型,设计算法进行计算,仅仅是描述文档,围绕文档的增、删、改、并的“计算”。80年代早已有许多软件系统采用标记,为Telx,PostScript等。它们采用过程式置标,即告诉计算机为何一步一步地生成合乎预想的文档。描述性置标不管过程,只按文档最后形式描述文档的结构。标记是“标题”、“第一段”、“第二节”、“空一行”最后的显现各机可用不同的软件、不同的过
10、程实现。描述只关注数据的内在相互关系。放置标示放置标示 标记语言/置标语言:SGML:Standard Generalized Markup Language HTML:HyperText Mark-up Language XML:Extensible Markup Language置标语言 表示性表示性的的置标语言语言(Presentational markup)是在编码过程中,标记文档的结构信息。过程性过程性置标语言(语言(Procedural markup)一般都专门于文字的表达,但通常对于文本编辑者可见,并且能够被软件依其出现顺序依次解读。描述性描述性置标(Descriptive ma
11、rkup),所描述的是文件的内容或结构,而不是文件的显示外观或样式,制定SGML的基本思想就是把文档的内容与样式分开,XML、SGML都是典型的通用置标语言。标准通用置标语言SGML SGML(Standard Generalized Markup Language)是ISO(国际标准化组织,International Standards Organization)在1986年推出的一个用来创建标识语言的语言标准。SGML是一种用来定义标识的语言,它提供了一种将数据内容与显示分离开来的数据表示方法,使得数据独立于机器平台和处理程序。SGML也被称作元语言(metalanguage),后来的许多
12、标识语言都采用了SGML的标识方法,例如HTML、XML和XHTML。SGML SGML把文档看作是对象集合,对象即元素。每个元素是标记括着的内容,内容又可嵌入元素,这就形成树形分层体系结构。也是文档的逻辑结构。SGML 不涉及内容的语义。(1)SGML文档结构 SGML的文档结构由有类型的元素(实例对象)组成、元素是由命名的起始标记和结束标记括着的正文单元。正文单元也叫内容。例 SGML的文档实例这是一个文档实例,就元素而言,它给出了内容模型:The SICK ROSE O Rose thon art sick.The invisible worm,That flies in the nig
13、ht In the howling storm:Has found out thy bed Of crimson joy:Does thy life destroy /SGML的注释 SGML(2)定义SGML文档结构在创建SGML文档实例时,首先要给出形式规格说明以指明该文档结构,即文档类型定义,简称DTD。DTD是对正文的解释。为了分析可以从不同角度定义DTD。例子中出现的各元素其形式声明如:SGML(3)并发结构同样一个文档结构,可从另一观点定义它,设按页的诗集 :!DOCTYPE p.anth 因为它最低层行题名和行都是一样的(#PCDATA),它们是并发定义的,可以写到一起:/A类型
14、的A p.anth /B类型的B page /按B类型的DTD定义page元素 The SICK ROSE O Rose thou art sick.The invisible worm./page结束 /另起一页 That flies in the night In the howling storm:/按A类型的DTD 定义stanza元素 Has found out thy hed Of crimson joy:And his dark crecret loe Does tyh life destroy./B类型的page结束 /B类型的B结束 /A类型的A结束这样定义的电子文档,当处理
15、器只识别其中一个类型(有其定义),则自动跳过另一个类的标记。若二者都识别则由人指定其一。SGML(4)属性SGML的每个元素都可以定义属性或属性表。属性并不影响元素的内容,只是为显示,处理提供方便。在文档实例中要给出属性值,如:元素定义了两个属性一为标识id一为状态status,它们均在起始标记之中,只看有无属性名=属性值。SGML(5)实体为了跨文档间的可移植性,SGML提供了实体(Entity)概念。实体是置标文档的某一部分,可大可小,小到一字符串,大到整个正文文件。如有声明:第一句声明了名为tei的实体,也叫内部实体,其值(即内容)是引号中的那段正文,故也称正文实体。第二个声明的实体是C
16、hapTwo,指明它是SYSTEM实体,本文档以外的外部实体,其值是名为sgmlmkup.txt的正文文件的全部内容。SGML(6)标记节标记节(Marked Section)是为了将一个主文档做成多个版一,即在一段正文中做出条件正文域标记,其形式是:(7)文档样式SGML只处理文档结构、内容,没有为文档样式(stgle)制定标准。SGMLSGML十分庞大,不同业务需求取其不同子集。关键的问题是定制实现。至少,当前学习使用全集,既耗费资金又浪费精力。但作为学术研究是极有价值的。但SGML复杂度太高,不适合网络的日常应用,加上开发成本高、不被主流浏览器所支持等原因,使得SGML在Web上的推广受
17、到阻碍。HTML和XML都是SGML的子集。HTML 1989年Tim Berners-Lee在欧洲核物理实验室(CERN)开发出了超文本置标语言。它从SGML出发作出了它的应用实例。让用户只在HTML类型定义下为用户文档置标。简单地说,它只是一组给定标记集合。没想到这种固定格式的标记,由于其简洁性大获成功。1994-1995年Web站点发展起来HTML成为开发页面最广泛使用的工具。HTML 超文本标记语言,即HTML(Hypertext Markup Language),是用于描述网页文档的一种标记语言。HTML是在 SGML定义下的一个描述性语言,或可说 HTML是 SGML的一个应用程式
18、,HTML不是程式语言,它只是标示语言。HTML被用来结构化信息例如标题、段落和列表等等,也可用来在一定程度上描述文档的外观和语义。HTMLHTML是SGML应用程序,它的文档模型也是树状结构模型。标记的约定和置标方式和SGML一样,只是文档类型定义DTD已由系统定义为HTML用户不必学习SGML复杂的语法,直接用标记定义实例文档。标记分以下四类:文档结构定义 字体字型定义 版面布局定义 链接定义 它的最大特点是超文本和多媒体。HTML HTML写的Web主页成了网上主要传递信息手段。(1)文档结构标记一个HTML文档 题名 下一级标题 /可以嵌套6级,至N6 ./另起一段,无结束标记 ./另
19、起一行,无结束标记HTML(2)文档页面格式标记分逻辑字符模式和物理字符模式。因为是逐词标记都是成对的。逻辑的 定义的单词 /一般斜体 强调的单词 /一般斜体 书或电影主题名 /一般斜体 程序代码段 /打印字体 键盘输入 计算机状态信息 特别强调词 /黑体 代替变量的实例 /斜体物理的。黑体 斜体 打印机字体HTML(3)版面布局标记 各种列表 标记列表及表项:/无号列表 /有序号列表 /表项 /表项1 /表项 /表项2 /至此结束 /至此结束 /定义列表 /第一条目 /与交替出现,对的测试 /第二条目 /对的测试 /结束XML 可扩展标记语言(Extensible Markup Langua
20、ge,XML),用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML是标准通用标记语言(SGML)的子集,非常适合 Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。XML XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言。XML XML文档的三种形式 即第一种文档形式先形式化地定义文档的类型、元素、属性、实体的标记,再以这些标记定义文档实例。第二种形式是不作DTD
21、的形式定义,但遵照文档模型直接置标写出文档实例。文档的标记必须是良定义(well-formed)的。第三种形式也不作完整的DTD形式定义,但可以引用已有的DTD定义。称之为合法(valid)的XML文档。指出XML文档是否独立 是非常重要的,为此,所有XML文档的第一行必须是处理指令。例 一个出版商清单 /处理指令 !DOCTYPE document /文档类型定义 /以下文档实例 publishers of the Music of New York women composers ACA-American composers Alliance info http:/ west 74th s
22、t.NY NY10023 212-362-8900 212-874-8605 Alfred Publishing /*/*15535 Morrison South Oaks CA 91403 第三种形式的XML文档也举一例子:例 一个合法的XML文档 .XML XSL可扩展样式语言 XML文档通过XSL可扩展样式语言描述的样式表(它本身也是XML的文档),执行后产生一个HTML文档,即XSL把XML文档翻译为HTML文档显现。XML 特点 XML与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,X
展开阅读全文