脚本语言

编辑
本词条由“匿名用户” 建档。

脚本语言是一种编程语言,一个特殊的运行时环境,它可以自动执行的任务的;这些任务也可以由人工操作员一个接一个地执行。脚本语言通常是解释性的,而不是编译性的。 基元通常是基本任务或API调用,并且该语言允许将它们组合成更多程序。可以通过脚本进行自动化环境包括软件应用,网页一中的网页浏览器中,使用的炮弹的操作系统(OS)、嵌入式系统,以及众多的游戏。脚本语言可以被视为特定环境的领域特定语言。在编写应用程...

什么是脚本语言

编辑

脚本语言是一种编程语言,一个特殊的运行时环境,它可以自动执行的任务的; 这些任务也可以由人工操作员一个接一个地执行。脚本语言通常是解释性的,而不是编译性的。

基元通常是基本任务或API调用,并且该语言允许将它们组合成更多程序。可以通过脚本进行自动化环境包括软件应用,网页一中的网页浏览器中,使用的炮弹的操作系统(OS)、嵌入式系统,以及众多的游戏。脚本语言可以被视为特定环境的领域特定语言。在编写应用程序脚本的情况下,它也称为扩展语言。脚本语言有时也称为非常高级的编程语言,因为它们以较高的抽象水平运行,或者称为控制语言,特别是对于大型机上的作业控制语言。

术语“脚本语言”也被宽松地用于指代动态 高级 通用语言,例如Perl、PowerShell、Python和Tcl,术语“脚本”通常用于小型程序。这些语言中的某些最初是为在特定环境中使用而开发的,后来又发展为可移植的特定于域或通用的语言。相反,许多通用语言都具有用作脚本语言的方言。本文从狭义的角度针对特定环境讨论脚本语言。

脚本语言

脚本语言的范围从很小的,高度特定领域的语言到用于脚本的通用编程语言。用于特定环境的脚本语言的标准示例包括:Bash,用于Unix或类Unix 操作系统;ECMAScript(JavaScript),用于Web浏览器和Visual Basic for Applications,用于Microsoft Office应用程序。Lua是一种设计并广泛用作扩展语言的语言。一些游戏系统,特别是“ 第二人生” 虚拟世界和Trainz系列的Railway模拟器,已经通过脚本扩展(Linden脚本语言和TrainzScript)在功能上进行了广泛扩展。在其他游戏中Wesnoth,玩家玩的各种实际游戏是其他用户编写的脚本。

脚本语言特性

编辑

典型的脚本语言旨在作为简短的源代码文件或以交互方式在读取-评估-打印循环(REPL,语言外壳)中进行学习和编写。这通常意味着相对简单的语法和语义;通常,“脚本”(用脚本语言编写的代码)作为“脚本”从头到尾执行,没有明确的入口点。

脚本语言通常从源代码或字节码解释。相反,编写脚本的软件环境通常以编译语言编写并以机器代码形式分发。

脚本语言可以设计为供程序的最终用户使用(即最终用户开发),也可以仅供开发人员内部使用,以便他们可以用脚本语言编写程序的某些部分。脚本语言通常使用抽象(一种信息隐藏形式)为用户节省内部变量类型,数据存储和内存管理的详细信息。

脚本通常是由执行它们的人创建或修改的,但它们也经常被分发,例如,当大部分游戏是用脚本语言编写时。

语言类型

编辑

编辑器语言

许多文本编辑器支持使用内置在编辑器中的宏语言或使用外部实现(例如XEDIT或两者)编写的宏。有时,在后台使用文本编辑器和编辑宏来提供其他应用程序,例如CMS中的 FILELIST和RDRLIST 。

作业控制语言和外壳

作业控制的自动化已经发展出一大类脚本语言,这涉及启动和控制系统程序的行为。这些语言的许多解释器兼用作命令行解释器,例如Unix shell或MS-DOS COMMAND.COM。其他语言(例如AppleScript)提供了类似英语的命令来构建脚本。

GUI脚本

随着图形用户界面的出现,一种用于控制计算机的专用脚本语言应运而生。这些语言与相同的图形窗口、菜单按钮等交互作用,人类用户可以使用。他们通过模拟用户的操作来做到这一点。这些语言通常用于自动执行用户操作。当通过模拟按键或鼠标单击以及在触摸激活的屏幕上点击或按下控制时,此类语言也称为“ 宏 ”。

这些语言原则上可以用来控制任何GUI应用程序。但是,实际上,它们的使用受到限制,因为它们的使用需要应用程序和操作系统的支持。此限制有一些例外。一些GUI脚本语言基于从其显示屏幕像素识别图形对象的基础。这些GUI脚本语言不依赖于操作系统或应用程序的支持。

特定于应用程序的语言

特定于应用程序的语言可以分为许多不同的类别,即基于独立的应用程序语言(可执行)或内部特定于应用程序的语言(postscript、xml、gscript作为一些广泛分布的脚本,分别由Adobe、MS和Google实施),其中包括适应应用程序用户需求的惯用脚本语言。同样,许多计算机游戏系统使用自定义脚本语言来表达非玩家角色和游戏环境的编程动作。这类语言是为单个应用程序设计的。并且,尽管它们从表面上看起来类似于特定的通用语言(例如QuakeC,以C建模),但它们具有区分它们的自定义功能。特定于应用程序的脚本语言可以视为专用于单个应用程序的特定于域的编程语言。

扩展/可嵌入语言

通过嵌入到应用程序中,已设计了多种语言来替换特定于应用程序的脚本语言。应用程序程序员(使用C或其他系统语言工作)包括“钩子”,脚本语言可以控制应用程序。这些语言在技术上可能等效于特定于应用程序的扩展语言,但是当应用程序嵌入“通用”语言时,用户将获得能够在应用程序之间转移技能的优势。一个更通用的替代方法是简单地提供一个通用语言可以用来控制应用程序的库(通常是C库),而无需修改特定领域的语言。

JavaScript始于并且现在仍然是Web浏览器内脚本编写的语言; 但是,作为ECMAScript的语言的标准化使其成为通用的可嵌入语言。特别是,Mozilla实现SpiderMonkey嵌入在多个环境中,例如Yahoo!。小部件引擎。嵌入ECMAScript实现的其他应用程序包括Adobe产品Adobe Flash(ActionScript)和Adobe Acrobat(用于脚本化PDF文件)。

Tcl是作为一种扩展语言创建的,但是在与Python,Perl和Ruby相似的角色中,它被更频繁地用作通用语言。另一方面,Rexx最初是作为作业控制语言创建的,但被广泛用作扩展语言和通用语言。Perl是一种通用语言,但是使用了Oraperl(1990)方言,该方言由一个Perl 4二进制文件和一个Oracle Call Interface编译而成。但是,此后已被库(Perl模块)DBD :: Oracle取代。

其他复杂且面向任务的应用程序可以合并并公开嵌入式编程语言,以允许其用户进行更多的控制,并为他们提供比通过用户界面可提供的功能更多的功能,而不管它们多么复杂。例如,Autodesk Maya 3D创作工具嵌入了MEL脚本语言,或者嵌入了使用Python填充此角色的Blender。

需要更快的功能添加或调整和运行周期的某些其他类型的应用程序也使用嵌入式语言。在开发过程中,这使他们可以更快地原型化功能并更自由地进行调整,而无需用户深入了解应用程序的内部工作原理或在每次调整后进行重建(这可能会花费大量时间) 。用于此目的的脚本语言范围从更常见,更著名的Lua和Python到鲜为人知的语言(例如AngelScript和Squirrel)。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/111916/

(0)
词条目录
  1. 什么是脚本语言
  2. 脚本语言特性
  3. 语言类型
  4. 编辑器语言
  5. 作业控制语言和外壳
  6. GUI脚本
  7. 特定于应用程序的语言
  8. 扩展/可嵌入语言

轻触这里

关闭目录

目录