1、ANSI INCITS 94-1985 (R2002)(formerly ANSI X3.94-1985 (R1996)for Information Systems Programming LanguagePANCMAmericanNationalStandardApproval of an American National Standard requires review by ANSI that therequirements for due process, consensus, and other criteria for approval havebeen met by the
2、standards developer.Consensus is established when, in the judgment of the ANSI Board of StandardsReview, substantial agreement has been reached by directly and materiallyaffected interests. Substantial agreement means much more than a simplemajority, but not necessarily unanimity. Consensus requires
3、 that all views andobjections be considered, and that a concerted effort be made toward theirresolution.The use of American National Standards is completely voluntary; their existencedoes not in any respect preclude anyone, whether he has approved the standardsor not, from manufacturing, marketing,
4、purchasing, or using products, processes,or procedures not conforming to the standards.The American National Standards Institute does not develop standards and will inno circumstances give an interpretation of any American National Standard.Moreover, no person shall have the right or authority to is
5、sue an interpretation ofan American National Standard in the name of the American National StandardsInstitute. Requests for interpretations should be addressed to the secretariat orsponsor whose name appears on the title page of this standard.CAUTION NOTICE: This American National Standard may be re
6、vised orwithdrawn at any time. The procedures of the American National StandardsInstitute require that action be taken periodically to reaffirm, revise, or withdrawthis standard. Purchasers of American National Standards may receive currentinformation on all standards by calling or writing the Ameri
7、can National StandardsInstitute.Published byAmerican National Standards Institute11 West 42nd Street, New York, New York 10036Copyright 1985 by Information Technology Industry Council (ITI)All rights reserved.No part of this publication may be reproduced in anyform, in an electronic retrieval system
8、 or otherwise,without prior written permission of ITI, 1250 Eye Street NW,Washington, DC 20005.Printed in the United States of AmericaANSI X3.94-1985 American National Standard for Information Systems - Programming Language - PANCM Secretariat Computer and Business Equipment Manufacturers Associatio
9、n Approved June 24, 1985 American National Standards Institute, Inc Foreword (This Foreword is not a part of American National Standard X3.94-1985.) The purpose of this standard is to standardize language features of the SPLIT, ACTION, and COMPACT II languages, to ensure compatibility of language en
10、hancements, and to promote portability of part programs between implementations. The standard is a rigor- ous definition of both the syntax and semantics of the language that has been named PANCM (Programming Aid for Numerically Controlled Manufacturing). The standard specifies implementations for t
11、hree-axis milling, drilling, and tapping machines and for two-axis turning machines. Syntax and semantics are provided for point, line, circle, set, and pattern definitions as well as for linear, circular, drilling, and threading motion. Part-program initialization and tool-changing statements are a
12、lso described. This standard provides the minimum forms, relationships, limits, and program constructs that an implementation shall accept and interpret. An implementation may introduce enhancements, including additional terms and relationships and the relaxation of limits, provided that the enhance
13、ments do not conflict with the standard. Part programs are guaranteed to be portable only if they employ constructs that are in the standard. Suggestions for improvement of this standard will be welcome. They should be sent to the Computer and Business Equipment Manufacturers Association, 3 11 First
14、 Street, NW, Suite 500. Washington, DC 2000 1. This standard was processed and approved for submittal to ANSI by the American Na- tional Standards Committee on Information Processing, X3. Committee approval of this standard does not necessarily imply that all committee members voted for its approval
15、. At the time it approved this standard, the X3 Committee had the following members: Edward Lohse, Chair William C. Rinehuls, Vice-Chair Catherine A. Kachurik, Administrative Secretary Organization Represented Name of Representative American Library Association. . Paul Peters American Nuclear Societ
16、y Geraldine C. Main D. R. Vondy (Alt) AMP Incorporated Patrick E. Lannan C. Brill (Alt) Association of American Railroads . R. A. Petrash Association for Computing Machinery . J. A. N. Lee Pat Skelly (Alt) Association of the Institute for Certification of Computer Professionals Thomas M. Kurihara Ar
17、dyn E. Dubnow (AR) AT defined in terms independent of the various machine classes (3) Definitions of all terms relevant to the writing of programs, defined independently of the various machine classes (4) Definitions of the machine actions that will occur as a result of programming PANCM statements
18、(5) Definitions of the machine classes supported by PANCM and definitions of all machine-class-dependent terms 1.2 It is beyond the scope of this standard to specify the following: (1) The mechanism for the program initiation and input to the data processing system (2) The mechanism for the output t
19、o the data processing system. ACTION/COMPACTySPLIT“ processors currently produce output that is directed at a specific machine tool1 (3) The results when the syntax or its rules are violated (4) The size or complexity of a program as it relates to the capacity of any specific data processing system
20、except for certain stated minimums 1 Should an implementor choose to produce an intermediate output file that is subsequently postprocessed as a whole, an acceptable option is conformance to the APT OUTPUT DATA (ANSI X3.37-1980) format. Other acceptable options would include conformance to CL DATA (
21、SP1456 available from EIA, 2001 Eye Street, NW, Washington, DC 20006), or Numerical Control of Machines - Pro- gram Format and Definition of Address Words - Part 1: Data Format for Positioning, Line Motion, and Contouring Control Systems, IS0 6983/l-1982. (With regard to output media, the intent of
22、the X3J5 Subcommittee is conformance to industry standards that regulate the interface to NC machine tools, or other systems that may have use for the data, such as graphic verification or proofing simulation systems.) 5 American National Standard X3.94-1985 (5) The properties of physical records or
23、 data (6) The implementation and physical properties of storage (7) Either the mechanism or the procedure by which programs are processed (8) The interpretation applied to any output by subsequent processes or equipment American National Standard X3.94-1985 2. Arrangement of Sections The arrangement
24、 of the sections of this standard is as follows: In Section 3, the metalanguage used to represent the syntax of PANCM is discussed and its interpretation is explained. In Section 4, the rules that apply to all statements within PANCM are described, including the general syntax of statements, the syn
25、tax and semantics of expressions, the order in which statements may appear, and the use of control structures to alter the flow of processing within a program. Section 4 is the only section in which commas, which are used to punctuate statements, are shown. This is due to the free format nature of P
26、ANCM in which minor words may appear in any order or appear inside of parentheses. PANCM also allows major words to appear without any minor words or to be repeated simply by the use of a semi-colon. The placement of a comma or the need for one varies in each of these situations and can best be defi
27、ned at the high level contained in Section 4. All statements discussed in Section 5 shall conform to the syntax shown in Section 4. In Section 5, the syntax and the semantics for each type of statement allowed in PANCM are described. The high-level semantics of each type of statement, the semantics
28、of the constructs that are common to several types of statements, and the definitions of auxiliary functions, which are minor words that can be programmed either individually or in combination, on any motion-generating or tool-changing statement are described in 5.1, 5.2, and 5.3, respectively. Alon
29、g with each words definition in 5.3, the words timing and priority relative to the other minor words is also specified. The syntax, semantics, and definitions in Section 5 are for tokens that are independent of the machine class. As such, certain tokens that are dependent on the machine class are no
30、t resolved to terminals until Section 7. When an unresolved token represents a minor word and Section 7 specifies it as undefined, the token and its associated semantics shall be ignored wherever they occur in Section 5. When an unresolved token represents a major word and Section 7 specifies it as
31、undefined, the entire statement, including minor words, shall be ignored for that machine class. The various machine classes supported by PANCM and the machine class dependent aspects of it are described in Section 6 Section 7 contains a list of the machine and control functions that can be initiate
32、d by using the various PANCM statements. When used in the standard, these functions have been capitalized and have underscores rather than spaces separating the words. This is to make them easily recognizable in the text. 7 American National Standard X3.94-1985 Section 8 is a glossary of the terms u
33、sed by the previous sections. The terms defined in this section are also capitalized and have underscores rather than spaces separating the words. Section 9 provides a list of tokens, terminals, and glossary terms used, cross-referenced by section numbers. The number of the section in which the toke
34、n is resolved or the terminal is defined is preceded by the letter D. Typically, tokens are resolved when they are first encountered, unless they are referenced by more than one level of the syntax, are specific to a certain machine class, or refer to a geometric entity. When a token is referenced b
35、y multiple levels, it is resolved on the basis of the highest level usage. Resolution of all tokens referring to geometric entities is deferred until 5.2 and, as mentioned earlier, all tokens that are dependent on the machine class are resolved in Section 7. Appendix A contains words reserved for su
36、pporting future enhancements to PANCM, and Appendix B contains words from the contributing languages that are obsoleted by PANCM. Appendix C cpntains short histories for each of the contributing languages. American National Standard X3.94-1985 3. Metalanguage 3.1 The metalanguage used to describe th
37、e syntax of PANCM is called Backus-Naur Form (BNF). The notation is defined as follows: A. A token is: a number a string of capital letters, such as DWELL or DPT a phrase enclosed by angle brackets, such as the punctuation symbols comma, left parenthesis, right parenthesis, period, colon, slash the
38、mathematical symbols - * / * B. Special symbols used by the BNF are: : := i I *I I I C. A production is a construct of the form: : = When given a string of tokens, if a token in that string is to the left of := for some production in the BNF, then in constructing the derivation of a statement, the t
39、oken may be replaced by the right-hand side of the production. D. Tokens which appear to the left of := are called non-terminal symbols. All other tokens are called terminal symbols. E. A string of tokens enclosed by I may appear 0 or 1 time in the right-hand side of a production. F. A string of tok
40、ens enclosed by ) means that exactly one token from the string may be selected to form the right-hand side. G. An * following a token or a .I or I.) construct means that the preceding token or construct may occur 0 or more times in the right-hand side. H. The symbol 1 means that the strings of token
41、s on either side are alternatives and either one or the other may be used. I. The is used to enclose BNF special symbols when the 9 American National Standard X3.94-1985 special symbol is intended to be a token rather than a part of the BNF (e.g. I*1 1. J. A derivation is a process of starting with
42、a particular non-terminal called the start symbol, and successively replacing non-terminals with right-hand sides of productions until the statement is generated. 10 American National Standard X3.94-1985 4. General System and Program Structure 4.1 General Statement Syntax A single statement of the l
43、anguage satisfies the following BNF: := l 4.1.1 := ,l , 4.1.1.1 := ,l* 4.1.1.2 := , 4.1.1.2.1 := 4.1.1.2.1.1 := * 4.1.1.2.1.1.1 := (ABCDEFGHIJKLM NOPQRSTUVWXYZ abcdefghijklm nopqrstuvwxyz 4.1.1.2.1.2 := : 4.1.1.3 11 American National Standard X3.94-1985 := ,* 4.1.1.3.1 := () /I (,*) 4.1.1.3.1.1 := 4
44、.1.1.3.1.2 := * 4.1.2 := *;* I A. s and s may consist of one to six s. Thedefinition of a or a is not affected by the use of upper and lower case s. The s and s defined by this standard are described in Section 5. B. The causes the last and associated , if any, processed to be substituted for the se
45、micolon (;) followed with an implied comma (,) . If a is preceded by either a or another , an implied exists before the current . The resulting statement is then processed as described in Section 5. c. s, s are described in 4.4. D. s are described in 4.2 and the specific allowable s are defined with
46、 each major, minor or control word. s may be programmed before or after any or but may not be split by the word. E. The location of commas is specified only in the above BNF, which details all of the allowable syntactic constructs. BNFs in the remainder of this document will conform to one of the ab
47、ove constructs in regard to the placement of commas. 12 American National Standard X3.94-1985 F. In Section 5, BNFs describing the syntax and semantics of individual s and s are given. The order given for s is not required, and they may occur in any order unless otherwise noted. Further, the syntax
48、of those statements may be further modified by the control structures described in 4.4. 4.2 Expressions This section describes the syntax and semantics of s. := () 1 A. The implementor must allow nesting of to at least five levels. B. When exists, it is applied first. c. The absence of denotes posit
49、ive. 4.2.1 := i+ -1 4.2.2 := ) 4.2.2.1 := * A. The implementor must support a range of from 10*-6 to 10*8 and zero. s must be accepted as input and converted correctly to at least eight significant digits. 4.2.2.1.1 := I01234567891 4.2.2.1.2 13 American National Standard X3.94-1985 := 4.2.2.2 := * A. The implementor must support INTEGERS of at least eight digits. 4.2.3 := +i - A. specifies the REALJJUMBBR specified by , the REAL-NUMBER which is the sum (+) of and or the REAL-NUMBER