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
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
ii

---------------------- 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.
1

---------------------- 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
as
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
W
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.
2

---------------------- Page: 4 ----------------------
DSO/IEC 10279:1991 (E)
An enhanced-native file module, which encompasses all programs whose syntax conforms to the
4
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
fl
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
9)
Section 13, together with the core.
A graphics subset module, which encompasses all programs whose syntax conforms to ANS
h)
BASIC Section 13, together with the subset core.
A minig~@Ucs module, which encompasses all programs whose syntax conforms to ECMA-116
0
Section 13 (see Annex B), together with the core.
.
A minigraphics subset module, which encompasses all programs whose syntax conforms to
1)
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
W
Section 14, together with the core.
A real-time subset module, which encompasses all programs whose syntax conforms to ANS
I>
BASIC Section 14, together with the subset core.
A fixed decimalmodule, which encompasses all programs whose syntax conforms to ANS BASIC
ml
Section 15, together with the core.
A fixed decimal subset module, which encompasses all programs whose syntax conforms to ANS
n>
BASIC Section 15, together with the subset core.
An editing module, which encompasses all unsorted programs and editing commands whose
0)
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
4

---------------------- 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
C>
X X
d>
X
e)
X
9
X
9)
X
h)
X
0
X
i)
X X
X X
X
m)
X
n)
X X
0)
X
ECMA-1
X
E-l +MG
X X
ECMA-2 X
X X
E-2+MG X
6

---------------------- 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
1.
WINDOW 0, PI*2, -1, 1
VIEWPORT .5*width, width, .5*height, height
DEVICE WINDOW 0,
.8,0, 1
DEVICE VIEWPORT .3, .5, .I,
1
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.