Information technology — Programming languages — Full BASIC

Specifies the programming language which is derived from the ANSI X3.113-1987. For details of the syntax and semantics see ANSI X3.113-1987. Annexes A and B are for information only.

Technologies de l'information — Langages de programmation — Full BASIC

General Information

Status
Published
Publication Date
16-Oct-1991
Current Stage
9093 - International Standard confirmed
Start Date
29-Jul-2008
Completion Date
29-Jul-2008
Ref Project

RELATIONS

Buy Standard

Standard
ISO/IEC 10279:1991 - Information technology -- Programming languages -- Full BASIC
English language
14 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (sample)

ISO/IEC
INTERNATIONAL
STANDARD 10279
First edition
1991-10-15
--_-- ---m-P -_-.---- -.-. ~ II.
Information technology - Programming
languages - Full BASIC
Technologies de I’informaiion - Langages de programmafion - Full
BASIC
~______._
zzzr __-_ - ___. --
- ___. . - -- --
---__-_. -- - -- - -__-
Reference number
lSO/IEC 10279:1991(E)
---------------------- Page: 1 ----------------------
ISO/IEC 10279:1991(E)
Foreword
IS0 (the International Organization for Standardization) and IEC (the
International Electrotechnical Commission) form the specialized system
for worldwide standardization. National bodies that are members of IS0
or IEC participate in the development of International Standards through
technical committees established by the respective organization to deal
with particular fields of technical activity. IS0 and IEC technical com-
mittees collaborate in fields of mutual interest. Other international or-
ganizations, governmental and non-governmental, in liaison with IS0
and IEC, also take part in the work.
In the field of information technology, IS0 and IEC have established a
joint technical committee, ISO/IEC JTC I. Draft International Standards
adopted by the joint technical committee are circulated to national bod-
ies for voting. Publication as an International Standard requires ap-
proval by at least 75 % of the national bodies casting a vote.
International Standard ISO/IEC 10279 was prepared by Joint Technical
Committee ISO/IEC JTC 1, Information technology.
Annexes A and B are for information only.
8 ISO/IEC 1991

All rights reserved. No part of this publication may be reproduced or utilized in any form

or by any means, electronic or mechanical, including photocopying and microfilm, without

permission in writing from the publisher.
lSO/IEC Copyright Office l Case Postale 56 l CH-1211 Geneve 20 l Switzerland
Printed in Switzerland
---------------------- Page: 2 ----------------------
INTERNATIONAL STANDARD ISOllEC 10279:1991 (E)
- Programming languages - Full
Information technology
BASIC
1 Scope

This International Standard specifies the programming language Full BASIC and is derived from the American

National Standard X3.113-1987. For details of the syntax and semantics see ANSI X3.113-1987 which specifies

the syntax of programs written in BASIC, including core BASIC and various extensions thereto;

the formats of data and the minimum precision and range of numeric representations and the

minimum length and set of characters in strings that are acceptable as input to an automatic data

processing system being controlled by a program written in BASIC;

the formats of data and the minimum precision and range of numeric representations and the

minimum length and set of characters in strings that can be generated as output by an automatic

data processing system being controlled by a program written in BASIC;
the semantic rules for interpreting the meaning of a program written in BASIC;

errors and exceptional circumstances to be detected and also the manner in which such errors and

exceptional circumstances are to be handled

This lnternatior 1 al Standard also refers to ECMA-116 for the specification of mini-graphics. Note: ECMA-116 is

based on ANS I X3.1 13-1987.

7 al Standard specifies its own conformance subsets, which include those specified in ANSI X3.1 13-

This lnternatiol
1987 and ECMA-116.

This International Standard is designed to promote the interchangeability of BASIC programs among a variety of

automatic data processing systems.
2 Normative references

The following standards contain provisions which, through reference in this text, constitute provisions of this

International Standard. At the time of publication, the editions indicated were valid. All standards are subject to

revision, and parties to agreements based on this International Standard are encouraged to investigate the

possibility of applying the most recent editions of the standards indicated below. Members of IEC and of IS0

maintain registers of currently valid International Standards.
ANSI X3.1 13-l 987: Information systems - programming languages - full BASIC.
STANDARD ECMA-116: 1986, BAS/C.
---------------------- Page: 3 ----------------------
lSO/IEC 10279:1991 (E)
3 Technical content
3.1 Principal technical content

Apart from the conformance rules the technical content of this International Standard is defined in part by Sections

3 to 16 of the ANSI X3.1 13-1987 (which will be referred to a ANS BASIC). The definition of resewed wordin ANS

BASIC Section 3.2 is for information only with respect to this International Standard.

The technical content for the mini-graphics module of this International Standard is defined by Section 13 of

ECMA-116.
3.2 Additional reserved words

For the subset core, insert the following paragraph after paragraph 6 of Subsection 4.42 of ANS BASIC.

“The keywords ACCESS, AND, ANGLE, AREA, ARITHMETIC, ASK, AT, BASE, BEGIN, BREAK, CALL,

CASE, CHAIN, CLEAR, CLIP, CLOSE, COLLATE, COLOR, DATA, DATUM, DEBUG, DECIMAL, DECLARE, DEF,

DEGREES, DEVICE, DIM, DISPLAY, DO, ELAPSED, ELSEIF, END, ERASE, ERASABLE, EXIT, EXTERNAL,

FILETYPE, FOR, FUNCTION, GO, GOSUB, GOTO, GRAPH, IF, IMAGE, INPUT, INTERNAL, IS, LENGTH, LET,

LINE, LINES, LOOP, MARGIN, MAT, MISSING, NAME, NATIVE, NEXT, NUMERIC, OFF, ON, OPEN, OPTION, OR,

ORGANIZATION, OUTIN, OUTPUT, POINT, POINTER, POINTS, PROGRAM, PROMPT, RADIANS, RANDOMIZE,

READ, RECSIZE, RECTYPE, REST, RESTORE, RETURN, SAME, SELECT, SEQUENTIAL, SET, SETTER, SIZE,

SKIP, STANDARD, STATUS, STEP, STOP, STREAM, STRING, STYLE, SUB, TAB, TEXT, THEN, THERE,

TIMEOUT, TO, TRACE, UNTIL, USING, VARIABLE, VIEWPORT, WHILE, WINDOW, WITH, WRITE, and

ZONEWIDTH shall not be used as identifiers.”
4 Conformance

There are two aspects of conformance to a set of modules in this International Standard: conformance by a program

written in the BASIC language, and conformance by an implementation which processes such programs. The

conformance requirements are structured so that any program conforming to a set of modules will produce the

same results when executed by any implementation conforming to the same or an encompassing set of modules

(though certain implementation-dependent features are noted in ANS BASIC Appendix C).

4.1 Modules

The programming language defined by this International Standard is organized in a modular fashion. Conformance

to this International Standard is defined with respect to particular sets of the following fifteen modules and

combinations thereof:

A core module, which encompasses all programs whose syntax conforms to ANS BASIC Sections

4 to 10, parts of ANS BASIC Section 11 (excluding internal-format record and native-format record

files), and ANS BASIC Section 12.

A subset core module, which encompasses all programs whose syntax conforms to ANS BASIC

Sections 4 to 10 (except that a substitute definition of reserved word applies -- see 3.2), parts of

ANS BASIC Section 11 (excluding enhanced-internal and enhanced-native files), and ANS BASIC

Subsection 12.2. (The subset core module is identical to the core module except that the list of

reserved words is larger and exception handling is excluded.)

An enhanced-internal file module, which encompasses all programs whose syntax conforms to the

enhanced production rules in ANS BASIC Section 11 (lacking the prefix “N”), together with the

core.

An enhanced-internal file subset module, which encompasses all programs whose syntax

conforms to the enhanced production rules in ANS BASIC Section 11 (lacking the prefix “N”),

together with the subset core.
---------------------- Page: 4 ----------------------
DSO/IEC 10279:1991 (E)

An enhanced-native file module, which encompasses all programs whose syntax conforms to the

enhanced native production rules in ANS BASIC Section 11 (indicated with the prefix “N“),

together with the core.

An enhanced-native file subset module, which encompasses all programs whose syntax conforms

to the enhanced native production rules in ANS BASIC Section 11 (indicated with the prefix “N”),

together with the subset core.

A graphics module, which encompasses all programs whose syntax conforms to ANS BASIC

Section 13, together with the core.

A graphics subset module, which encompasses all programs whose syntax conforms to ANS

BASIC Section 13, together with the subset core.

A minig~@Ucs module, which encompasses all programs whose syntax conforms to ECMA-116

Section 13 (see Annex B), together with the core.

A minigraphics subset module, which encompasses all programs whose syntax conforms to

ECMA-116 Section 13 (see Annex B), together with the subset core.

A real-time module, which encompasses all programs whose syntax conforms to ANS BASIC

Section 14, together with the core.

A real-time subset module, which encompasses all programs whose syntax conforms to ANS

BASIC Section 14, together with the subset core.

A fixed decimalmodule, which encompasses all programs whose syntax conforms to ANS BASIC

Section 15, together with the core.

A fixed decimal subset module, which encompasses all programs whose syntax conforms to ANS

BASIC Section 15, together with the subset core.

An editing module, which encompasses all unsorted programs and editing commands whose

syntax conforms to ANS BASIC Section 16.

In addition, the Conformance Modules shall include those described in ANS X3-l 13, Section 2, and in ECMA-116,

Section 2. (Note: See Annex A for details on the relationship between these conformance modules and the

conformance modules defined in ANS X3-l 13 and ECMA-116.)
4.2 Program conformance
A program conforms to a set of modules in this International Standard only when

the program and each statement or other syntactic element contained therein is syntactically valid

according to the syntactic rules specified by this International Standard as belonging to that set;

the program as a whole violates none of the global constraints imposed by this International

Standard on the application of the syntactic rules.
---------------------- Page: 5 ----------------------
ISO/IEC 10279:1991 (E)
4.3 Implementation conformance

An implementation conforms to a set of modules in this International Standard only when

it accepts and processes all programs conforming to that set of modules in this International

Standard;

it reports reasons for rejecting any program which does not conform to that set of modules in this

International Standard;

it interprets errors and exceptional circumstances according to the specifications of this

International Standard;

it interprets the semantics of each statement of a conforming program according to the

specifications in this International Standard;

it interprets the semantics of a conforming program as a whole according to the specifications in

this International Standard;

it accepts as input nipulates, and can generate as output numbe rs of at least the p recision and

t ma
range specified in this International Standard;

it accepts as input, manipulates, and can generate as output strings of at least the length and

composed of at least those characters specified in this International Standard;

it is accompanied by documentation available to the user that describes the actions taken in regard

to features referred to as “undefined” or “implementation-defined” in this International Standard;

it is accompanied by documentation available to the user that describes and identifies all

enhancements to the language defined in this International Standard.

This International Standard makes no requirement concerning the interpretation of the semantics of any statement

or program as a whole that does not conform to this International Standard.

In addition, an implementation conforms to the editing requirements of this International Standard if it accepts and

processes unsorted programs and editing commands according to the specifications in ANS BASIC Section 16.

4.4 Errors

This International Standard does not include specific requirements for reporting syntactic errors in the text of a

program. Implementations conforming to a set of modules in this International Standard may accept programs

written in an enhanced language without having to report all constructs not conforming to that set of modules.

Whenever a statement, or other program element, does not conform to the syntactic rules given herein, and that

statement, or program element, does not have a clear, well-documented implementation-defined meaning, an error

shall be reported. Errors shall be reported in a clear and well-documented way, and whenever feasible the

implementation should indicate the erroneous statement and the position of the error within the statement.

4.5 Exceptions

An exception is a circumstance arising in the course of execution of a program when an implementation recognizes

that the semantic rules of this International Standard cannot be followed or that some resource constraint is about

to be exceeded. All exceptions described in this International Standard shall be detected, reported, and

processed when they occur, unless some mechanism provided in ANS BASIC Subsection 12.1 or in an

enhancement to this International Standard has been invoked by the user to handle exceptions.

In the absence of programmer-specified recovery procedures, exceptions shall be handled by the recovery

procedures specified in this International Standard. If no recovery procedure is specified in this International

---------------------- Page: 6 ----------------------
ISO/IEC 10279:1991 (E)

Standard, or if restrictions imposed by the hardware or the operating environment make it impossible to follow the

procedure specified in this International Standard, then the way in which the exception is handled depends on the

context. If the exception occurred in an invocation of a function, picture, or subprogram, then the exception is

“propagated back” to the invoking statement in the invoking program unit (see ANS BASIC Subsection 12.1). If

this propagation procedure reaches the main-program or a parallel-section, or if the exception occurred in the main-

program or a parallel-section, then the exception shall be handled by terminating the program or, in the case of real-

time-programs, the parallel-section, generating the exception.

The way in which the default exception handling mechanism reports an exception is implementation-defined,

except that the contents of the report shall identify at least the original exception code and the line number of the

line in which the original exception occurred.

Except in the case of files, when several exceptions are caused by the execution of a single statement of a

program, this International Standard does not specify an order in which these exceptions shall be detected,

reported, or processed.

If an implementation determines that a particular statement in a conforming program will always cause an exception

when executed, the implementation may issue a warning to the user. Nonetheless, the implementation shall

accept and execute the program, according to the normal semantic rules specified herein.

---------------------- Page: 7 ----------------------
ISO/IEC 10279:I 991 (E)
Annex A
(informative)
Relationship of this International Standard to ANSI and ECMA
standards

It is the intention of this International Standard that all programs and implementations that conform to ANS BASIC,

X3.1 13-1987, or to ECMA BASIC, ECMA-116, shall automatically conform to ISO/IEC BASIC.

In addition, this International Standard allows other conformance modules. Subclause 4.1 of this International

Standard defines fifteen conformance modules. These fifteen modules are based on nine portions of the ANSi

and ECMA Standards. The content of these fifteen modules in terms of the nine portions is shown below.

In particular, the core and six optional modules specified in ANS BASIC correspond to modules a), c), e), g), k), m),

and 0). The four conformance modules of ECMA-116 are shown in the following the table A.I. The ECMA

conformance modules are
ECMA-1)
ECMA BASIC-1
ECMA-1 with Mini-Graphics E-l +MG)
ECMA-2)
ECMA BASIC-2
ECMA-2 with Mini-Graphics E-2+MG)
. .
Core Subset Files Files Graph- Jllnr- Real- Fixed Editing
Internal Native its Graph. Time Decimal
Module Core

--------------------------------------------------------------------- -----------------------------------------------------------------------------------

X X
X X
X X
X X
X X
ECMA-1
E-l +MG
X X
ECMA-2 X
X X
E-2+MG X
---------------------- Page: 8 ----------------------
ISO/IEC 10279:1991 (E)
Annex B
(informative)
The Mini Graphics Module

This annex reproduces (except for typographical corrections) Section 13 in ECMA-116 --mini-graphics , which can

be described informally as consisting of ANS BASIC Subsections 13.1 through 13.3 with the following deletions:

From 13.1. None.

From 13.2. Delete references and production rules associated with more than a single TEXT style, size, or

orientation. Delete references to COLOR MIX. Reduce the minimum number of available line styles from four to

three. Reduce the minimum number of available point styles from five to three. Delete exceptions 11073, 4102,

and 11088.

From 13.3. Delete the facility for generating an array of color cells. Delete refer-ences to array (MAT)

graphic output statements. Delete the second paragraph of 13.3.4.1 that deals with the interaction between

ordinary output and graphics output statements. Delete all references to the height, justification, and orientation of

text. Delete exceptions 6401 and 6402. Delete the reference in exception 11085 to the array-cells-statement.

13. GRAPHICS

The facilities provided in section 13.1 through 13.3 are a subset of those provided by level Ob of the Graphical

Kernel System (GKS) as defined in IS0 7942. The values of the EXTYPE function for exceptions defined in GKS

are 11000 plus the value of the GKS error number.

In GKS terms, any BASIC program that includes statements from Section 13 of this Standard has implied

calls to the functions OPEN GKS, OPEN WORKSTATION (#0, “Maindev”, I), and ACTIVATE WORKSTATION #0

before any graphics statements are executed, and calls to the functions DEACTIVATE WORSTATION #0, CLOSE

WORKSTATION #0 and CLOSE GKS as the program terminates.
13.1 Coordinate Systems
13.1 .I General Description

The coordinates used to produce graphic output may be chosen to suit the application. The range of this

system of “problem coordinates” (world coordinates) is established by a SET WINDOW statement. This range is

mapped into a rectangular portion of an abstract viewing surface which can be specified by a SET VIEWPORT

statement. It is possible to specify what part of this abstract viewing surface will be presented to the user on the

display surface by a SET DEVICE WINDOW statement. This rectangle, in turn, may be located on the display

surface by a SET DEVICE VIEWPORT statement.

No output will be produced outside the device viewport. It is possible to guarantee that all graphic output

which lies outside the viewport will be eliminated by enabling clipping.

Ask statements are provided to determine the current values for the parameters established by execution

of one of the set statements or by default.
13.1.2 Syntax
1 . set-object > WINDOW boundaries /
VIEWPORT boundaries /
DEVICE WINDOW boundaries /
DEVICE VIEWPORT boundaries /
CLIP string-expression
2 .
boundaries boundary comma boundary comma
boundary comma boundary
---------------------- Page: 9 ----------------------
ISOIIEC 10279:I 991 (E)
= numeric-expression
3. boundary
> ASK ask-object status-clause?
4. ask-statement
STATUS numeric-variable
5 . status-clause
> WINDOW boundary-variables /
6 . ask-object
VIEWPORT boundary-variables /
DEVICE WINDOW boundary-variables /
DEVICE VIEWPORT boundary-variables /
DEVICE SIZE numeric-variable comma
numeric-variable comma
string-variable /
CLIP string-variable
numeric-variable comma
7 . boundary-variables =
numeric-variable comma
numeric-variable comma
numeric-variable
13.1.3 Examples
WINDOW 0, PI*2, -1, 1
VIEWPORT .5*width, width, .5*height, height
DEVICE WINDOW 0,
.8,0, 1
DEVICE VIEWPORT .3, .5, .I,
CLIP “Off”
4. ASK WINDOW Xl, X2, Yl, Y2
ASK VIEWPORT L, R, B, T
ASK DEVICE WINDOW XMIN, XMAX, YMIN, YMAX
ASK DEVICE VIEWPORT LEFT, RIGHT, BOTTOM, TOP
ASK DEVICE SIZE Width, Height, Unit$
ASK CLIP CLIP STATE$
13.1.4 Semantics
A normalizatio
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.