1、 National Standard of CanadaCAN/CSA-ISO/IEC 11756:02(ISO/IEC 11756:1999)International Standard ISO/IEC 11756:1999 (second edition, 1999-06-01), has been adopted withoutmodification (IDT) as CSA Standard CAN/CSA-ISO/IEC 11756:02, which has been approved as a National Standardof Canada by the Standard
2、s Council of Canada.ISBN 1-55324-689-6 March 2002Information technology Programminglanguages MTechnologies de Iinformation Langages de programmation MReference numberISO/IEC 11756:1999(E)The Canadian Standards Association (CSA), The Standards Council of Canada is theunder whose auspices this Nationa
3、l Standard has been coordinating body of the National Standards system, produced, was chartered in 1919 and accredited by a federation of independent, autonomousthe Standards Council of Canada to the National organizations working towards the furtherStandards system in 1973. It is a not-for-profit,
4、development and improvement of voluntarynonstatutory, voluntary membership association standardization in the national interest.engaged in standards development and certification The principal objects of the Council are to foster activities. and promote voluntary standardization as a means CSA stand
5、ards reflect a national consensus of of advancing the national economy, benefiting theproducers and users including manufacturers, health, safety, and welfare of the public, assisting consumers, retailers, unions and professional and protecting the consumer, facilitating domestic organizations, and
6、governmental agencies. The and international trade, and furthering internationalstandards are used widely by industry and commerce cooperation in the field of standards.and often adopted by municipal, provincial, and A National Standard of Canada is a standard whichfederal governments in their regul
7、ations, particularly in has been approved by the Standards Council ofthe fields of health, safety, building and construction, Canada and one which reflects a reasonableand the environment. agreement among the views of a number of capableIndividuals, companies, and associations across individuals who
8、se collective interests provide to theCanada indicate their support for CSAs standards greatest practicable extent a balance ofdevelopment by volunteering their time and skills to representation of producers, users, consumers, andCSA Committee work and supporting the Associations others with relevan
9、t interests, as may be appropriateobjectives through sustaining memberships. The more to the subject in hand. It normally is a standardthan 7000 committee volunteers and the 2000 which is capable of making a significant and timelysustaining memberships together form CSAs total contribution to the na
10、tional interest.membership from which its Directors are chosen. Approval of a standard as a National Standard ofSustaining memberships represent a major source of Canada indicates that a standard conforms to theincome for CSAs standards development activities. criteria and procedures established by
11、the StandardsThe Association offers certification and testing Council of Canada. Approval does not refer to theservices in support of and as an extension to its technical content of the standard; this remains thestandards development activities. To ensure the continuing responsibility of the accredi
12、tedintegrity of its certification process, the Association standards-development organization.regularly and continually audits and inspects products Those who have a need to apply standards arethat bear the CSA Mark. encouraged to use National Standards of CanadaIn addition to its head office and la
13、boratory complex whenever practicable. These standards are subject in Toronto, CSA has regional branch offices in major to periodic review; therefore, users are cautioned centres across Canada and inspection and testing to obtain the latest edition from the organizationagencies in eight countries. S
14、ince 1919, the preparing the standard.Association has developed the necessary expertise to The responsibility for approving National Standards meet its corporate mission: CSA is an independent of Canada rests with theservice organization whose mission is to provide an Standards Council of Canadaopen
15、 and effective forum for activities facilitating the 270 Albert Street, Suite 200exchange of goods and services through the use of Ottawa, Ontario, K1P 6N7standards, certification and related services to meet Canadanational and international needs.For further information on CSA services, write toCan
16、adian Standards Association178 Rexdale BoulevardToronto, Ontario, M9W 1R3CanadaAlthough the intended primary application of this Standard is stated in its Scope, it is importantto note that it remains the responsibility of the users to judge its suitability for their particular purpose.Registered tr
17、ade-mark of Canadian Standards AssociationInformation technology CAN/CSA-ISO/IEC 11756:02 Programming languages MMarch 2002 Canadian Standards Association CSA/1CAN/CSA-ISO/IEC 11756:02Information technology Programming languages MCSA PrefaceThis is the second edition of CSA Standard CAN/CSA-ISO/IEC
18、11756. It supersedes the previous editionpublished in 1996 (adoption of ISO/IEC 11756:1992).Standards development within the Information Technology sector is harmonized with international standardsdevelopment. Through the CSA Technical Committee on Information Technology (TCIT), Canadians serve asth
19、e Canadian Advisory Committee (CAC) on ISO/IEC Joint Technical Committee 1 on Information Technology(ISO/IEC JTC1) for the Standards Council of Canada (SCC), the ISO member body for Canada and sponsor ofthe Canadian National Committee of the IEC. Also, as a member of the International Telecommunicat
20、ionUnion (ITU), Canada participates in the International Telegraph and Telephone Consultative Committee(ITU-T).This International Standard was reviewed by the CSA TCIT under the jurisdiction of the Strategic SteeringCommittee on Information Technology and deemed acceptable for use in Canada. (A comm
21、ittee membershiplist is available on request from the CSA Project Manager.) From time to time, ISO/IEC may publish addenda,corrigenda, etc. The CSA TCIT will review these documents for approval and publication. For a listing, refer tothe CSA Information Products catalogue or CSA Info Update or conta
22、ct a CSA Sales representative. ThisStandard has been formally approved, without modification, by these Committees and has been approved as aNational Standard of Canada by the Standards Council of Canada.March 2002 Canadian Standards Association 2002All rights reserved. No part of this publication ma
23、y be reproduced in any form whatsoever without the prior permission of thepublisher. ISO/IEC material is reprinted with permission. Where the words “this International Standard” appear in the text, theyshould be interpreted as “this National Standard of Canada”. Inquiries regarding this National Sta
24、ndard of Canada should be addressed to Canadian Standards Association 178 Rexdale Boulevard, Toronto, Ontario, Canada M9W 1R31-800-463-6727 416-747-4044www.csa.caINTERNATIONAL STANDARD ISOAEC 11756 Second edition 1999-06-01 Information technology - Programming languages - M Technologies de Iinforma
25、tion - Langages de programmation - M Reference number ISO/I EC 11756: 1999(E) lSO/lEC 11756:1999(E) Contents 1. Scope 2.Normativereferences 3.Conformance . 3.1 Implementations 3.2Programs 4.Definitions . 5. Metalanguage description . 6Routineroutine . 6.1 Routine head routinehead . 6.2 Routine body
26、routinebody 6.2.1 Level line levelline 6.2.2 Formal line formalline . 6.2.3Labellabel 6.2.4 Label separator Is 6.25 Line body linebodv . 6.3 Routine execution 6.3.1 Transaction processing 6.3.2 Error processing 6.4 Embedded programs . 7.Expressionexpr 7.1 Expression atom expratom . 7.1 .I Variables
27、7.1.2 Variable name glvn . 7.1.2.1 Local variable name Ivn 7.1.2.2 Local variable handling. 7.1.2.3 Process-stack 7.1.2.4 Global variable name ovn 7.1.3 Structured system variable ssvn . 7.1.3.1 *$CHARACTER 7.1.3.2 *$DEVICE . 7.1.3.3 “$GLOBAL . 7.1.3.4”$JOB 7.1.3.5*$LOCK . 7.1.3.6 *$ROUTINE 7.1.3.7*
28、$SYSTEM . 7.1.3.8 *$Zunspecified . 7.1.3.9 ssvns specifying default environments . 7.1.4 Expression item expritem . 7.1.4.1 String literal strlit 0 ISO/IEC 1999 All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means, ele
29、ctronic or mechanical, including photocopying and microfilm, without permission in writing from the publisher. ISO/IEC Copyright Office l Case Postale 56 l CH-1211 Geneve 20 l Switzerland 1 1 2 2 2 4 7 9 9 IO IO IO IO 11 11 II 12 13 14 15 15 15 16 16 16 19 20 21 21 23 23 24 24 24 25 25 25 26 26 0 IS
30、O/IEC 7.1.4.2 Numeric literal numlit 7.1.4.3Numericdatavalues . 7.1.4.4 Meaning of numlit . 7.1.4.5 Numeric interpretation of data . 7.1.4.6 Integer interpretation . 7.1.4.7 Truth-value interpretation . 7.1.4.8 Extrinsic function exfunc 7.1.4.9 Extrinsic special variable exvar . 7.1.4.10 Intrinsic s
31、pecial variable names svn 7.1.4.11 Unaryoperatorunatvop r 7.1.4.12Namevaluenamevalue . 7.1.5 Intrinsic function function . 7.1.5.1 $ASCII 7.1.5.2 $CHAR 7.1.5.3$DATA 7.1.5.4 $EXTRACT 7.1.5.5$FlND . 7.1.5.6 $FNUMBER 7.1.5.7$GET . 7.1.5.8 $JUSTlFY . 7.1.5.9 $LENGTH . 7.1.5.lO$NAME . 7.1.5.11 $ORDER . 7
32、.1.5.12 $PIECE 7.1.5.13$QLENGTH . 7.1.5.14 $QSUBSCRlPT 7.1.5.15 $QUERY . 7.1.5.16 $RANDOM 7.1.5.17 $REVERSE . 7.1.5.18 $SELECT . 7.1.5.19 $STACK 7.1.5.20 $TEXT . 7.1.5.21 $TRANSLATE . 7.1.5.22$VIEW . 7.1.5.23$Z . 7.2 Expression tail exprtail 7.2.1 Binary operator binarvop . 7.2.1.1 Concatenation ope
33、rator 7.2.1.2 Arithmetic binary operators 7.2.2 Truth operator truthop 7.2.2.1 Relational operator relation 7.2.2.2 Numeric relations . 7.2.2.3 String relations 7.2.2.4 Logical operator logicalop . 7.2.3 Pattern match pattern 8.Commands 8.1 General command rules . 8.1.1 Spaces in commands 8.1.2 Comm
34、ent comment . 8.1.3 Command argument indirectio n . 8.1.4 Post conditional postcond 8.1.5 Command timeout timeout . 8.1.6 Line reference lineref 8.1.6.1 Entry reference entrvref 8.1.6.2 Label reference labelref 8.1.6.3 External reference externref . 27 27 28 28 29 29 29 30 30 34 35 35 36 37 37 37 38
35、 38 39 40 40 40 41 42 43 44 44 45 45 45 45 47 47 48 48 48 48 49 49 49 49 50 50 50 51 52 52 53 54 54 54 55 55 55 56 57 . . . III lSO/lEC 11756:1999(E) lSO/lEC 11756:1999(E) 0 ISOAEC 8.1.7 Parameter passing 57 8.2 Command definitions 59 8.2.1 BREAK . 59 8.2.2CLOSE . 59 8.2.3DO . 60 8.2.4ELSE . 61 8.2.
36、5FOR 61 8.2.6GOTO 63 8.2.7HALT mmmmmm=m=m=m=mmmrnmmmmmmmmmm 63 8.2.8HANG 63 8.2.9IF 64 8.2.10JOB . 64 8.2.11KlLL . 65 8.2.12LOCK . 66 8.2.13MERGE 67 8.2.14NEW 68 8.2.15 OPEN . 69 8.2.16QUl-T 70 8.2.17 READ . 71 8.2.18SET . 73 8.2.19 TCOMMIT 75 8.2.20 TRESTART . 76 8.2.21 TROLLBACK . 76 8.2.22 TSTART
37、 . 76 8.2.23USE . 77 8.2.24VIEW 78 8.2.25WRITE 78 8.2.26 XECUTE . 79 8.2.27Z . 80 9. Character Set Profile charset . 80 lO.Characterset . 81 11. Expression elements . 81 ll.lNames 81 11.2 External routines and names 81 1 1 .3 Loca I va r i a b I es . . . . . . . . . . 81 11.3.1 Number of local varia
38、bles . 81 11.3.2 Number of subscripts . 81 11.3.3 Values of subscripts 82 11.4 Global variables . 82 11.4.1 Number of global variables 82 11.4.2 Number of subscripts . 82 11.4.3 Values of subscripts 82 11.4.4 Numberof nodes 82 11.5Datatypes . 82 11.6 Number range 83 11.7lntegers . 83 11.8 Character
39、strings 83 11.9 Special variables 83 12.Expressions 83 12.1 Nesting of expressions . 83 12.2Results 83 12.3 External references . . 84 0 ISO/IEC lSO/lEC 11756:1999(E) 13 Routines and command lines 13.1 Command lines . 13.2 Number of command lines 13.3 Number of commands . 13.4Labels . 13.5 Number of
40、 labels 13.6 Number of routines 14 External routine calls . 15 Character Set Profiles 16lndirection 17 Storage space restrictions . 18Process-stack . 19Formats 19.1 mnemonicspace 19.2 controlmnemonic 19.3 Parameters 20Transactionprocessing . 20.1 Number of modifications in a TRANSACT10 N 20.2 Number
41、 of nested TSTARTs within a TRANSACTi N 1: 1: . :I 1: 1: 21 Other portability requirements 22Thebinding . 22.1 Control-functions with an effect on $X or $Y or both 22.2 Control-functions with an effect on $KEY . . . . . . . . . . . . 22.3 Control-functions with an effect on $DEVICE . 22.4 Open-ended
42、 definitions . 23Portabilityissues . 23.1 Implementation . 23.2 Application . 24Conformance . AnnexA AnnexB AnnexC AnnexD 84 84 84 84 84 84 84 85 85 85 85 86 86 86 86 87 87 87 87 87 88 88 89 89 90 91 91 91 92 93 96 97 99 AnnexE 101 AnnexF 103 AnnexG 105 AnnexH 106 Index . 109 V ISOllEC I 1756: 1999(
43、E) 0 ISO/IEC 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 t
44、hrough technical committees established by the respective organization to deal with particular fields of technical activity. IS0 and IEC technical committees collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental, in liaison with IS0 and IEC, a
45、lso 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 bodies for voting. Publication as an International Standard re
46、quires approval by at least 75% of the national bodies casting a vote. International Standard ISO/IEC 11756 was prepared by Joint Technical Committee ISO/IEC JTC 1, Morrnation technology, Subcommittee 22, Programming languages, their environments and system software interfaces. This second edition c
47、ancels and replaces the first edition which has been technically revised. Annex A forms an integral part of this International Standard for information only. SO/IEC 11756: 1992), Annexes B to H are 0 ISOllEC lSO/IEC 11756:1999(E) lntrodu ction Section I consists of nine clauses that describe the MUM
48、PS language. Clause 1 describes the metalanguage used in the remainder of Section 1 for the static syntax. The remaining clauses describe the static syntax and overall semantics of the language. The distinction between “static” and “dynamic” syntax is as follows. The static syntax describes the sequ
49、ence of characters in a routine as it appears on a tape in routine interchange or on a listing. The dynamic syntax describes the sequence of characters that would be encountered by an interpreter during execution of the routine. (There is no requirement that MUMPS actually be interpreted). The dynamic syntax takes into account transfers of control and values produced by indirection. Clauses IO through 21 highlight, for the benefit of implementors and application programmers, aspects of the language that must be accorded special atten