Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
IEC 10279-94(即 ISO/IEC 10279:1994)是由国际电工委员会(IEC)和国际标准化组织(ISO)联合技术委员会 JTC 1 制定的全 BASIC(Full BASIC)编程语言国际标准。该标准首次发布为 ISO/IEC 10279:1991,1994 年公布修订版,2004 年经加拿大标准协会(CSA)采纳为 CAN/CSA-ISO/IEC 10279-94 (R2004),确认继续有效。Full BASIC 在 Minimal BASIC(ISO/IEC 6373)基础上扩展,增加了结构化控制、字符串及复数运算、文件处理、错误处理等高级特性,成为 BASIC 语言家族中功能最完备的国际规范。
该标准主要适用于:
截至 2026 年,该标准虽已为后续版本(如 ISO/IEC 10279:2004)所补充,但仍是理解 BASIC 语言演进的核心参考文献,并在多个遗留系统中继续使用。
IEC 10279-94 定义了 Full BASIC 的完整语法与语义,包括以下核心要素:
% 表示整数,! 表示字符串)或 DECLARE 语句指定。IF ... THEN ... ELSE(支持单行与多行块结构)、SELECT CASE;FOR ... NEXT、DO ... LOOP(搭配 WHILE/UNTIL);GOTO、EXIT LOOP、EXIT FOR。FUNCTION 和 SUB 定义子程序与函数,支持局部变量、参数传递(值、引用),并允许递归调用。OPTION BASE 设定下标起始值,DIM 分配大小)。标准定义了丰富的 I/O 操作:
INPUT、LINE INPUT;PRINT、PRINT USING;OPEN、CLOSE、READ、WRITE、SET(定位)等语句控制。采用 WHEN ERROR 与 USE 语句实现异常捕获与处理,允许程序在运行时检测并响应错误,而不会强制终止。标准规定了错误代码的类别和优先级。
| 数据类型 | 关键字 | 后缀示例 | 精度与范围说明 |
|---|---|---|---|
| 整数 | INTEGER | x% | 至少 −231~231−1(实现定义) |
| 实数 | REAL | y(无后缀) | 至少 10 位十进制精度 |
| 复数 | COMPLEX | z# | 实部与虚部均为 REAL 精度 |
| 字符串 | STRING | s! | 最大长度至少 255 字符(实现可扩展) |
IF ... END IF 取代单行 IF),是实现结构化编程的关键特性。迁移旧代码时需注意行号要求已取消。开发 Full BASIC 语言处理器的组织应严格遵循 IEC 10279-94 的语法描述与语义规则。标准将功能分为“核心语言”和若干“功能模块”(如图形、声音、扩展 I/O),实现者可以选择支持部分模块,但必须明确声明未实现的模块。建议使用标准提供的符合性测试集(如 ISO/IEC 10279 配套测试)进行验证。
应用开发者应优先使用标准中的核心特性,避免依赖特定编译器扩展。以下要点有助于提升可移植性:
DECLARE 显式声明变量类型,减少类型默认规则带来的歧义;END IF 必须单独成行,DO ... LOOP 必须配对;违反这些规则虽然在部分解释器中可能宽容处理,但在严格符合标准的平台上会引发编译错误。标准提供了符合性测试的指导。开发者可通过以下方式验证实现:运行官方测试套件,检查示例程序(如《完整 BASIC 程序集》中收录的经典案例)。同时建议组织交叉测试,确保不同实现间的移植性。
IEC 10279-94 并非孤立存在,它构成了一个完整的标准体系: