首页 > 国家标准(GB) > GB/T 12856-1991 程序设计语言 BASIC子集
GB/T 12856-1991

基本信息

标准号: GB/T 12856-1991

中文名称:程序设计语言 BASIC子集

标准类别:国家标准(GB)

标准状态:现行

发布日期:1990-01-02

实施日期:1991-01-02

出版语种:简体中文

下载格式:.rar.pdf

下载大小:6239968

标准分类号

标准ICS号:信息技术、办公机械设备>>35.060信息技术用语言

中标分类号:电子元器件与信息技术>>信息处理技术>>L74程序语言

关联标准

采标情况:EQV ISO 4342-1985

出版信息

页数:122页

标准价格:41.0 元

相关单位信息

首发日期:1991-04-28

复审日期:2004-10-14

起草单位:西安交通大学

归口单位:全国信息技术标准化技术委员会

发布部门:国家技术监督局

主管部门:国家标准化管理委员会

标准简介

本标准规定了:a.用BASIC子集书写程序的语法;b.BASIC子集书写的程序所控制的自动数据处理系统,作为输入可接收的数据格式和数值表示的最小精度和范围,以及串中字符的最小长度和集合;c.BASIC子集书写的程序所控制的自动数据处理系统,其输出能产生的数据格式和数值表示的最小精度和范围,以及串中字符的最小长度和集合;d.解释BASIC子集书写的程序含义的语义规则;e.应检查出的错误和异常情况。尽管原先设计BASIC语言主要为交互式使用,但本标准描述的语言无比限制。本标准无意妨碍任何具体实现技术的使用,例如解释程序,增量编译或一次扫描编译程序。本标准适用于电子计算机的设计、生产和应用领域。 GB/T 12856-1991 程序设计语言 BASIC子集 GB/T12856-1991 标准下载解压密码:www.bzxz.net

标准图片预览






标准内容

1引信
中华人民共和国国家标准
程序设计语言BASIC子集
Programming languages BASIC subsetGB 12856—91
本标准定义了程序设计语言BASIC的一个子集,其目的是在多种白动数据处理系统中促进BA-SIC程序的互换性。遵循本标准的程序称为用国家标准BASIC子集书写的程序。1.1主题内容与适用范函
本标准规定了
。用BASIC子集书写程序的语法;b.BASIC子集书写的程序所控制的自动数据处理系统,作为输入可接收的数据格式和数值表示的最小精度和范国,以及申中字符的最小长度和集合;BASIC子集书写的程序所控制的自动数据处理系统,其输出能产生的数据格式和数值表示的C.
最小精度和范围,以及串中字符的最小长度和集合!d。解释BASIC子集书写的程序含义的语义规则;电,应检查出的错误和异常情况。尽管原先设计BASIC语言主要为交互式使用,但本标准描述的语言无此限制。本标准无意妨碍任何具体实现技术的使用,例如解释程序,增量编译或一次扫描编译程序。本标准适用于电子计算机的设计,生产和应用领域。1.2引用标准
GB1988
信虑处理交换用七位编码字符集GB2312
GB 2808
GB2809
GB2810
GB 4144
GB 9544
信息交换用汉字编码字符集基本集全数字式日期表示法
信息交换用日的时间表示法
信息交换用顺序日期表示法
程序设计语言最小BASIC
信息处理系统计算机图形图形核心系统(GKS)的功能描述SJ/Z 9071
2—致性
微处理机系统的二进制浮点运算与本标准的一致性有俩方面,用BASIC子集语言书写的程序一致性,处理这种程序的实现的:致性。概括地讲,一致性要求是这样组成的,使得任何一致于本标准的程序,由一致于本标准的实现来执行该程序时产生出同样的结果【在附录C(参考件)中指出了某些依赖于实现的特征】]。2.1程序一致性
一个程序…-致于本标准,仅当:a,该程序和每个语句或包括在其中的其它语法元索,按照本标准规定的语法规则,在语法上是合豪技术监督局1991-04-28批准
1991-12-01实施
法的,
GB12856—91
该程序作为一个整体,在应用语法规则方面没有违反本标准所施加的全局限制。b.
2.2实现一致性
一个实现一致于本标准,仅当:它接受和处理一致于本标准的所有程序;a.
b。它报告出拒绝任何与本标准不--致的程序的原因;它按本标准的规定解释错误和异常情况:c.
它按本标准的规定解释一致性程序每一语句的语义:d.
它按本标准的规定在总体上解释一致性程序的整体的语义;f
它能接受的输入,操纵及作为输出产生的数至少具有按本标准规定的精度和范围,成:
它能接受的输入,操纵及作为输出产生的串室少具有按本标准规定的长度和规定的字符来组g
它附有一个供用户使用的文件,用以描述对于本标准为“术定义”或“实现定义”的那些特征以及要出现的动作:
1.它附有-~个供用户使用的文件,描述和识别本标准定义的语言的所有扩充。本标准不涉及总体上不一致于本标的任何程序或语句的语义解释。2.3'错误
本标准不包括对程序正文中语法错误作出报告的明确要求。与本标准一致的实现可以接受用扩充的语言书写的程序。不用报告所有与本标准不一致的结构。然而,每当一个语句或别的程序元素与这里给出的语法规则不一致时,并且该语句或程序元紊没有清楚的、良好的文件化的实现定义的含义,应以清楚的,良好的文件化方法报告出错误,并且只要是可行的,实现应当指出有错误的语句,还应指出该语句重错误的位置。2.4异常
异常是一种这样的情况,在程序的执行过程中,实现识别出其不能遵守本标准的语义规则,或者即将超出某些资源的限制。当本标准叙述的全部异常出现时应被查出、报告并被处理,除非在本标准的扩充中提供的某些机制已被用户调用来处理这些异常。在缺乏程序员规定的恢复过程情况下,应由本标准规定的恢复过程来处理异常。对本标准没有规定的恢复过程或由于硬件施加的限制或操作环境致使不可能遵守本标准规定的该复过程,则异常处理依赖于上下文。若异常发生在调用一个函数或了程序时,则异常“传播返回”至调用程序单位单的调用语句(见12.1条)。若这一传播过程到达主程序,或异常发生在主程序,则异常应被处理为终止程序。异常处理机制报告异常的方法由实现定义,只是报告的内容应至少标识出异常的编码和产生原始异常所在行的行号。
除了文卷情况外,当执行一程序的单个语句而引起多个异常时,本标谁不规定检出或报告这些异常的次序。
若实现断定,在某一致性程序内执行一个特殊的语句时总是引起异常,实现可以向用户发出警告。不过实现必须按照本标推规定的正常语义规则来接受和执行该程序。3语法说明和定义
3.1语法说明方法
所谓语法即通过“系列叫做“产生式”的重写规则定义不同类型的语法对象,谐如程序或表达式,并且描述什么样的符导串是这些类型的对象。在语法里,大写字母、数字和(可能连接的)小写的单词被当作“元名字”使用,即当作语法对象的名字。大部分的元名字由其它元名字的产生式来定义。为使这样的过程终山,某些名字设计成“整结GB 1285691
的”元名字,语法中不包含对于它们的产生或。除“[实现定义}”结构以外,全部终结元名字在4.1条中第一次出现且被定义。数字是表记它们自己的终结元名字。此外,“[实现定义}”结构不是唯一的语法对象,但对于所涉及的对象,它的每次出现由实现按适当方式来定义。在某些情况下,在相应的评注条中给出对象表示法的建议。
我们以5.1条中的一些举例来进一步叙述语法细节。产牛式:小数=饲号整数
表明一个小数是一个句号后随-个整数。因为句号”是终结元名字(即它不出现在任何产生式的左边),4.1中条的语义标识由句号所表示的特殊字符。什么是整数?产生式!
整数一数字数字*
表明一个整数是一个数字后随任意多个数字,星号是“个语法运算符,用以指出它所跟的对象可以重复任意多次,包括欲。
什么是数字?4.1条中的产生式:数字=0/1/2/3/4/5/6/7/8/9
表明一个数字或是0,或是1,,或是9。斜线是语法运算符,其含义为或,并且用来表明一个元名字能按几种方法中的一个来重写。因为数字是终结元名字,我们对小数的语法解释就结束了。4.1条中的语义按照表示它们的字符来识别这些数字。
问号类似星号亦是-个语法运算符,表明它所跟的对象可以省略。例如,产生式指数一F正负号?整数
表明一个指数是由字母E或e跟着·个任选的正负号跟着一个整数所组成。圆括号可以用来把元名字序列组合在一起。例如:变量表一变量(逆弓变量)*
定义一个变量表是由·-个变量跟着任意多个用返号分开的其它变量所组成。如果我们实际上希望圆括号出现在语法对象中,而不是仅仅希翌用它们来描述语法对象,于是我们用元名字“左圆括号”和“右圆括号”来表示它们的出现,
当在同一产生式中出现几个语法运算符时,采用如下的优先次序。运算符“”和“*\仅适用于它们直接眼随的单词或括起来的表达式。运算符“/”运用下单调和表达式的序列,它们之间用空格来分开,空格出现在整个表达式的开头、最后的“/\或最后的未匹配的左阅括号的前面。例如:有效数一整数向号!/整数了小数等价于:
有效数=(整数(句号)?)/((整数)?小数)语法中的空格用来分开产生式中的项。注意关于BASJC程序中空格的特殊约定(见4.1条)。某些语法对象被不止一个产生式定义。例如,在5.2条中可找到:简单变量>简单数值变量
而在 6. 2 条中还可找到;
简单变堡≥简单串变量
这两个产生式等价于下列单个产生式(如果没有其它的简单变量的定义存在):简单变量一简单数值变量/简单串变量在所有情况下,用一个大于符号替代一个等于符号来指明多重定义,这些定义等价于一个包含由斜线分开的各种右边部分的单个定义。作为语法说明方法的例证,下面是这种方法的语法描述。下面出现的终结元名字在4.1条中有定义。
1.产生式
2.元名字
3.元字符
4、空格组
GB 12856—91
二元名字空格组(等于符号/大于符号)空格组语法表达式三小写字母元学符
三小写字母/连字符
二宰格*行结束?空格*空格
5,语法表达式=语法项(空格组?斜线空格组?语法项)#6.语法项
7. 语法因了
一语法因子(空格组语法因子)#
一语法初等量重复?
8.语法韧等量=元名字/数字数字*/大写字母大写字母*/左圆括号空格*语法表达式空格*右圆括号
3.2 术语定义
二星号/向号
本标准中,下列术语具有指定的意义。3.2.1 BASIC
BASIC 是\Beginner's All-purpuse Symbolic Instruction Code\的缩写。用作其有类似语法和语义意义的一个特别语言种类名字的术语。3.2.2批量方式
在一个没有给用户提供交互作用的环境中处理程序的方式。3.2.3能
在描述意义上,词\能”用来指明与标准一致的程序允许包含的某些结构,以及指明与标准一致的实现需要正确处理这种程序。
3.2.4行结束
标志一行结束的字符或指示符。在BASIC中可以识别三类行:程序行、打印行和输入应等行。这三类情况中,行结束可不相间,也可因前后关系不同而不相同。例如,输入应签的行结束可以因系统在交互方式或批量方式中所用的输入源不同而不相同。行结束的典型例子是回牵牢,回车换行和记录结束(如卡片结束)。3.2.5错误
程序的语法缺陷,导致程序不正确。3.2.6异常
在程序的执行中,实现识别出其不能遵守本标准的语义规则,或者即将超出某些资源的限制时所出现的情况。基些异常(非致命的异带)可以由本标准中规定的恢复过程来自动处理。若本标准中没有给出恢复过程(致命的异常),或者因硬件施加的限制或操作环境使得不能遵从给定的过程,则处理该异常的办法依赖前后关系。如果该异常发生在调用一个函数,图形或子程序,则是该异常“传播这间\全调用程序单位的该调用语句。如果这个传播过程到达主程序,彧者如果异常出现在主程序,则是该异常成处理为终止该程序。
3.2.7外部
就过程而论,是指词法上没有被包含在-一个更大程序单位里面的过程。3.2.8标识符
用来命名一个变量,数组、数组值、菌数,子程序或程序的一个字符串。3.2.9交互方式
在一个允许用户直接响应程序个体的动作,并且控制这些程序的开始和终止的环境中,处理程序的方式。
3.2.10内部
就记录类型而论,是指数据的表示方法,以使得写人的数据类型和精确值被保留,并且可由后继的读操作检索。
GB 12856—91
就过程而论,是指词法上包含在一个更大程序单位内且与其共辜的数据的过程。3.2.11关键字
通常是作为常用的大写字母拼写词或助记词的一个字符串,它醒目地标识程序设计语言的语句或语句成分。
在本标准中的关键字是:
ACCESS
COLLATE
DECIMAL
ELSEIF
EXTERNAL
MISSING
NUMERIC
POINTS
RANDOMIZE
SEQUENTIAL
STANDARD
STRING
WINDOW
DECLARE
DISPLAY
FILETYPE
INTERNAL
.LINES
ORGANIZATION
RESTORE
STATUS
NATIVE
PROGRAM
RECSIZE
RETURN
SETTER
TIMEOOT
YARIABLE
DEGREES
ELAPSED
ERASABLE
FUNCTION
LENGTH
MARGIN
OUTPUT
PROMPT
RECTYPE
VIEWPORT
ZONEWIDTH
拼写关键字可以用小写字母或大写字毋和小写字母混合。3.2.12行
ARITHMETIC
DEVICE
OPTION
POINTER
RADIANS
SELECT
STREAM
本标推捕述厂两类行·物理行和逻辑行。一个物理行是有序的字符列,用行结束作为终止。一个物理行用一个行号或和号开头。·个逻辑行由一个行号和跟着一有序的正文序列组成,其中每个行继续用空格来逻辑地替换。
3.2.13机器无限小
BASIC的实现能够表示和操纵的(非零)最小正值。3. 2. 14可以
单词“可以”作许可的意思,用来表明与标推一致的实现可以提供或不提供一个专门的特征。3. 2. 15本机的
就记录类型前论,指的是一个其字段具有规定结构的记录,以便与同样系统上其他语言生成的记录相兼容。就数值数据或串数据而论,是指留给实现定义的某些语义规则的数据(例如,理序序列、精度),以使数据在宿主硬件上被直接实现。3. 2. 16上溢
GB 12856 91
对于数值运算,\前面的运算企图产生个结果,该结果超出MAXNUM(见5.4.4条)时存在的状态。对于串运算,当前而的运算产生·个结果,其字符个数大于语言处理程序规定的每串能包含的最大长度时存在的状态,对于串赋值,当前面的运弹企图去赋一个值,其长度大于串变量或串定义丽数的说明或缺省的最人长度时存布的状态。3.2.17打印区
企可以包含求值打印语元素的打印输出行中,组相邻字符位置。3.2.18程序单位
BASIC程序的自包含部分。构成它的或者是由行的序列组成的主程序,该序列直至且包含END语句的行,或者是一个外部子程序定义、或者是外部幽数定义。3::19保留字
禁止在本标准中用作一个例行程序标识符,串标识符或数值标识符的一种字符申。这些保留字是:无自变量提供函数名.DATEEXI.INE,EXTYPE,MAXNUM,PI,RND,TIME,TRANSd
FORM,DAIE$.和TIME$;
数组值中用到的标识符:CON.DN,ZER和NUI.S;b.
下述关键字:ACCESS,AND,ANGI.F,AREA,ARITHMETIC,ASK,AT,BASE,BEGIN,BREAK, CALL., CASE, CHAIN,CLEAR, CLIP,CLOSE, COLLATE, COL-OR,DATA.DATUM,DEBUG,DECIMAL,DECI.ARE.DEF,DEGREES,DE-VICE, DIM, IDISPLAY, DO, EI.APSED, ELSE, ELSEIF, END, ERASE,ERASABLE,EXIT.EXTERNAL,FILEFYPF,F(R,FUNCTION,GO,GO-SUB,GOTO,GRAPH,I,IMAGE.INPUT,INTERNAI,IS,LENGTH,LET,LINE,LINES.LOOP.MARGIN,MAT,MISSING.NAME,NATIVE,NEXT,NOT,NUMERIC,OFF,UN,OPEN,OPTION,OR,ORGANIZATION.OUTIN,OUTPUT,POINT,TOIVTER.POINTS,PRINT.PRGGRAM,PROMPT,RADIANS,RANDMIZE,READ,RECSZE,RECTYPE,REM, REST, RE-STORE,RETURN,SAME.SELECT.SEQUENTIAL,SET,SETTER,SIZE,SKIP, STANDARD.STATUS,STEP,STOP,STREAM,STRING,STYLE,SUB, TAB, TEXT,IHEN, THERE, TIMEOUT.TO,TRACE.UNTIL,US-ING, VAREARLE, VIEWPORT, WHILE, WINDOW, WITH, WRITE,ZONEWJTHI.
3.2.20舍人
考虑到原来数中要略去的那部分数值,从数值的较高精度表示产生出较低精度表示的一种处理。例如,舍入X到它最接近的整数由INT(X+0.5)来完成(见5.4条)。3.2.21
单间“应”作强制的意思。用来指出按描述的那样来要求程序的结构,或实现的行为以满足与标准一致性的约束。
3.2.22有效数字
高位非零数字和低位数字之间数字的邻接序列,而不考虑小数点的位置。通常,在规格化浮点的内部表示中,作有效数里仅保留表示的有效数字。在定点丧示中,低位数字是最右边明确规定的一个、并且非有效的高位序数字仍可以被保留。3.2.23截断
从原来较高精度表示中仅删去不想要的低位数字,而产生出较低精度数值表示的一种处理。3.2.24下
对于数值运算,当前面的运算企图产月:出·个结果,它不是零但量值小于机器无限小时所出现的状..com态。
4程序元素
GB 12856—91
BASIC程序是含有语句的行的序列。每行自身是字符衍的-一个序列。4.1 字符
4. 1.1概述
本标准的字符集包含在GB1988 中。:4.1.2语法
1。字符
一双引号/非引号字符
2.引号串字箱
3、非引号字符
4.双重引号
5.非引号串字符
6.普通申字符
9.大写字母
10.小字母
11.其它字符
=双重引号/非引号字符
二和号/撤号/显号/向上箭头/冒号/逗号/货币符/等于符号/感叹号/大于符号/左圆号/小于符号/数符号/百分比号/间号/右圆括号/分号/斜线/下横线/非引甘串字符
=双引号,双引号
…空格/普通串字符
二数字/字册/句号/正号/负号
=0/1/2/3/4/5/6/7/8/9
=大写字母/小写字母
=A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z=a/b/c/d/e/f/g/h/i/j/k//m/n/o/p//t/s/t/u//w/x/y/z=「实现定义]
所述的语法产生出的程序不包含空格.除非它们出现在评注串中,在某些引号串非引号申和文字串中,或用元名字空格显式地表明空格出现的地方。应遵守有关空格方面的特殊约定。除了下面的一些例外情况,只要不影响该程序的熟行,空格可以在BASIC程序的任何地方出现,而且空格可以用来改善程序的外观和可阅读性。空格不应出现在:紧接在一行行号前;
行号内;
关键字内:
标识符内;
数值常数内;
多字符的关系符号内。
另外,出现在引号串、非引号串和格式串中的空格应是有意义的(虽然在非引号串前面或后前的空格不是该串的,部分)。
程序中的所有关键字,应前面冠以或后随一个除了字母、数字、下横线或货币符之外的某个字符。一个关键字亦可以后随一个行结束。4.1.3例
4.1.4语义
字母应是大写和小写拉丁字舟的集合,在GB1988学符集内的位置分别为4/1至5/10和6/1至7/10
数字应是阿拉伯数的集合,包含在GB1988字符集的3/0至3/9位置内。其余的符应对应于GB1988余下的图形字符,其位置是2/0至2/15,3/10至3/15,5/14和5/15.
GB 12856-91
表 6 中规定了字符的名字。由于缺省的或明显的用到 COLLATE 任选(见 6. 4、6. 6 和 8. 1 条)而使标准理序序列生效时应采用表 6。本机理序序列的编码应是实现定义。除了字母外的所有字符表示它们自身。在引号串,非引号串和行输入应答里字母表示它们自身。当字母用在标识符或关键字中时,对应的大写字母利小写字母应是等价的。引号串字符亦表示它们自身,但双重引号表示在串值中出现一个引号,4. 1. 5异常
4.1.6评注
可以由实现定义出其它字符作为BASIC宇符集的一部分。这些字符既可以在串内使用,又可以用作在响应输入应答时提供的数据中的字符,贱者作为 CHR$丽数生成的值(见6.4条)。这些其它字符的作用是实现定义。
使用其它字符(除行结束字符)写出的程序不是与标推一致的程序。4.2程序、行、块
4.2.1概述
BASIC程序是行的---个序列。每行含有唯的行号以便于程序编辑和用作该行中语句的标号。一个BASIC程序逻辑地划分成一些程序单位。其中第一个是主程序,它由结束行终止。主程序后面可以存在零个或多个外部于程序定义或外部函数定义。BASIC程序里行的某些逻辑组合称为块。4.2.2语法
1、程序
2.程序名行
3.程序名
4.主程序
5、单位块
>程序名行?主程序过程部分*
二行号 PROGRAM程序名函数参数表?尾部一例行程序标识符
=单位块 *结束行
=内部过程定义/块
6内部过程定义,>内部函数定义/内部子程序定义7.块
8.语句行
10.谱句
11.陈述语句
12.命令语句
13.停语句
14,条件语
15.尾部
16.行结束
17.结束行
18.结束语句
19.过程部分
>语句行/循环/如果块/选择块/映象行=行号 语句 尾部
一数字数字*
>陈述语句/命令语句/条件语句
数据语句/说明语句/维数语可/空语句/任选语句/评注语句>数组赋值/数组輪入语可/数行输人语句/数组打印语句/数组读语句/数塑写语句/查询语句/断点语句/调用语句/链语句/关闭语句/调试语句/清除语句/退出do语句/退出for语句/退出函数语句/退出子程序语句/转子语句/转移语句/输入语句/赋值语句/行输入语句/数值函数赋值语句/打开语句/打印语句/随机化语句/读语句/再罩语句/返回语句/骨语句/停语句/串函数赋值语句/跟踪语句/写谱句
一如果语句/开关转子语句/开关转移语句一尾部注解?行结束
一[实现定义]]
一行号结束语何尾部
二评注行 ¥过程
20.过程
21.评注行
22.行
23.程序单位
24.行继续
GB 12856—91
>外部函数定义/外部子程序定义二行号(空语句/评注语句)行结束>情况行/情况else行/do行/else行/elseif-then行/结束数行/结束if行/结束行/结束选择行/结束子程序行/外部函数行/外部子程序行/or行/内部定义行/内部函数行/内部子程序行if-then行/映象行/循环行/next行/程序名行/评注行/选择行/语句行
>士程序/试程
=和号 空格*尾部和号
程序应由行的一个序列组成,这些行中应确有一个是结束行!一些行直至和包括这个结束行构成主程序。
不允许行号为零,前导零应没有作用。行应按行号增大次序出现。在个程序单位中对行号的所有引用应是此程序单位中行的行号。行号中数字个数应不超过5个。行号的值应不超过50000。用什么方法检测,行的结束,是由实现决定的。例如,行结束可以是个回车字符,回车字符后随换行宁符或物埋记录的结束。
程序中的一个物理行在每个行结束指示符之前应至多包括132个字符。除了在引号申、非引号串、文字串或评注串内(见4.1.4.3条),征何可以使用空格的地方都可以使用行继续※替代空格,它除了替代空格之外没有别的作用。程序名行里的参数在主程序中不应显式地被定维或说明。4.2.3例
2. 100 PROGRAM GRAPIIIC &.1 This program draws a graph&
18,H99 END
4.2.4语义
&. I x is x-coordinate
! y is y-cvordinate
程序名行是链语句的操作数(见9.3条)。在执行链语句的程序内,程序指示符和程序名之间的关系是实现定义。程序名行内参数按9.1条描述求值。它们的作用域是主程序。对于孤立执行的程序,程序名没有什么作用,程序名行中参数表的作用是实现定义。理序中的行应从第一行开始按顺序米执行,直至,a.
行的执行指示去执行别的动作:h.出现·个异常:
执行一个链讲句:
l.执行一个停语句或结束语句。结束语句应用来标志主程序的物理结束,当遇到它时也用来终止程序的执行。停语句的执行亦应终止程序的执行。4.2.5异常
4.2.6评注
在个程序单位内引用不存在的行号是语法错误。如果文件就是这样规定的,实现可以把它们处理为异带。
4.3程序注解
4.3.1概述
通过程序行结束处的注解或单独的评注语句,可以注释BASIC程序。4.3.2法
RFM评注申
1、评注语句
2.评注串
3、空语句
一字符*
一尾部注解
4.尾部注解一感叹号评注串
行继续不应出现在评注串里。
1.REMFINAI.CHECK
4. 1 OMPLTE AVERAGE
4.3.4语义
GB 12856—91
若程序的执行到达包括评注审语句或空语句的行,则它应越至下一行而没有别的作用。在执行出现尾部注解的行时,尾部注解没有什么作用。履部注解中的评注串仅仅用作该行的注解。4.3.5异常
4.3.6评注
4.4标识符
4.4.1概述
标识符用束命名变量、数组、数维值、函数、程序和子程序。4.4.2语法
1、标识符
2.数值标识符
3.标识符字符
4.串标识符
>数值标识符/串标识符/例行程序标识符二字母标识符字符*
一字母/数字/下横线
一字丹标识符字符*货币符
5。例行程序标识符《一字母标识符字符*一个标识符应至多含有31个字符,在串标识符情况下包括货币符在内。给出的数值标识符可以命名简单数值变量、一维、一维或三维数组,数值函数或数值数值,但在个程序单位内不命名多下一-个对象。类似地,个给定的串标识符可以命名简单串变量、一维串数组,二维申数组,三维串数组、串所数或申数组值,但在一个程序单位内不允许用它命名多个对象。象。
给出的标识符可以命名内部子程序定义,或内部函数定义,但在一个程序单位里不能命名多个对给出的例行程序标识符在程序中不应命名多于一个外部函数定义、外部子程序定义、或主程序。一个命名了外部函数定义的数值标识符不可以用作例行程序标识符。无自变量提供两数或数组值的名字CON、DATE、EXLINE、EXTYPE、IDN、MAXNUM、PI,RNT)、TIME,TRANSFORM和ZER不应用作数值标识符去命名任何其它实体。尤自变量提供函数或数组值的名字LDATE$、NUL$租TIME$不应用作串标识符去命名其它任何实体。3.2.19中列出的关键字不应用作标识符。4.4.3例
Lust-names $
5. INVERT
4.4.4语义
GB12856-91
每个程库单位是不向的实体,用来命名程序单位里定义的变景、数组,内部函数定义、内部过程的标识符应局部于它们所在的程序单位的每次调用,亦即,它们在不问的程序单位和在同一程序单位的不同调用中应命名不相同的对象。用米命名提供函数或程序单位的标识符应全程下整个程序,办即,无论它们在哪里出现应命名相同的对象。如果实现提供函数的名字或关键字TAB隐式或显式地被定义或被说明为一个用户定义函数,数组或变量的标识符,那么这个被定义的或说明的标识符的解释在定义或说明的作用域内应取代本标推所规定的解释。于是,在该作用域单,该实现提供函数或制表调用应是无效的。在任何程序单位里,仅是字母大小写不相同的标识符应标记同一对象(例如,X1和x1 标识同一对象)。任何其它方而不同的标识符应标记不相同的对象。4.4.5 异常
4.4.6评注
扩充本标准的实现定义不可以扩充不可用作简单变量的名词表。出丁所有数组必须被说明(见7.1条),并且所有定义函数在引用它们的程序单位里必须被说明或定义,那么,只要在一个程序中对这些标识符的任何说明取代实现提供的解释,实现即可以提供本标准已规定之外的嵌入驱数。注意,实现扩充的无参数函数在某些情况下使用时,语法上和相同名的变量没有什么区别。因而,配备这种函数的实现还必须提供把它们标识为函数的语法方法。这类语法的例子是要求在任何引用这种函数的程序单位里显式地说明它们,或引用这种函数时要求使用空的圆括号(例如,“NEWFUCT1ON()”)。对于独文于主程序编译的过程的标识符,它的长度和格式,操作系统可以施加额外的限制。通过定义·个用户定义函数或简单变量可以取代相同名字的提供函数,5数
在本标准中数是组成两种基本数据类型中的一种(另一种是中)。这些数与形成表达式的常数、变基乃实现提供函数相联系。
5. 1 数值常数
5.1. 1概述
数值常数表示标量数值。数值常数是数的位置记法的「进制表示。数值常数有以下四种通常的语法形式:
隐式点无比例表示
显式点无比例表示
显示点比例表示
d.隐式点比例表示
sd...drd..-d.Www.bzxZ.net
sd...drd...dEsd...d,
sd...dEsd...d.
这里d是一个数字,是一句号$是任选的止负号,而E直接是字符E或。没有前冠正负号的数值常数假定为正的,
5.1.2语法
2、数值常数
3、正负号
4、数值表示
5.有效数
7.小数
8.指数
数值常数
一正负号?数值表示
一正号/负号
=有效数指数?
一整数句号?/整数?小数
二数字,数字*
一句号整数
-E正负号!整数
5.1. 3例
5e—1
5.1.4语义
GB 12856—91
数值常数的值是该常数所表示的数。“E\和“e”代替\乘10的次方”;如果在符号E或e后面没有正负号,则埋解为有一止号。
程序可以含有任意多位数字的数值常数。然而实现必须或者保留数值常数的精确值,或者将这样的常数舍入到由实现定义的精度。数值常数的实现定义精度应不少于10位或6位有效十进制数字,这依赖于算术任选是DECIMAL还是NATIVE(见5.6条)在起作用。数值常数的指数部分中亦能具有任意多位数卒,然而数量超出实现定义范围的非零常数可作异常处理(见5.6条)。数量小于机器无限小的非零常数应由零来代替,当节数的数量大于MAXNUM时应报告发生上溢。5.1. 5异常
数值常数的求值导致上溢(1001,致命的)。注:从本条开始的异常编码详见表7。5.1.6评注
建议实现将数量小于机器无限小的常数作下溢报告(1501,非致命的,用零替代并继续)。虽然本标准没有包含命名常数的规定,但通过无自变量的定义函数能达到此效果(见9.1条)。5.2数值变量
5.2.1概述
数值变量可以或是简单数值变最或是对数值数组元素的引用。5.2.2语法
1. 变量
2、数值变
3.简单数值变量
1.数值数组元素
5.数值数组
6.下标部分
9.简单变草
10、数组名
>数值变量
=简单数值变量/数值数组元素
二数值标识符
一数值数组下标部分
=数值标识符
左圆括号
=索引
一数值表达式
下标(逗号
下标)*右圆括号
简单数值变
>数值数组
下标部分巾下标的数目应是一,二或三。5.2.3例
tahle(i,j+1)
5.2.4语义
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。