1、_ - STDmITU-T HDBK CUM-ENGL 1986 48b2591 Ob82532 541 m INTERNATIONAL TELECOMMUNICATION UNION CCITT THE INTERNATIONAL TELEGRAPH AND TELEPHONE CON SU LTATIVE COM M IlTEE THE CCITT HIGH LEVEL LANGUAGE CHILL USERS MANUAL Geneva 1986 - STD*ITU-T HDBK CUM-ENGL 1986 48b259L Ob82533 488 INTERNATIONAL TELECO
2、MMUNICATION UNION CCITT THE INTERNATIONAL TELEGRAPH AND TELEPHONE CONSULTATIVE COM MITTEE THE CCITT HIGH LEVEL LANGUAGE CHILL USERS MANUAL Geneva 1986 ISBN 92-61 -02601 -X STDmITU-T HDBK CUM-ENGL 1786 m 4b257L Ob27bb 79b 111 O I.T.U. . STD-ITU-T HDBK CUM-ENGL L98b W 48b259L Ob82534 314 CONTENTS 1.0
3、Introduction 1 1.1 General 1 1.2 Languagesurvey . 2 1.3 Modes and classes 2 1.4 Locations and their accesses 3 1.5 Values and their operations 4 1.6 Actions . 4 1.7 Procedures . 4 1.8 Concurrent execution 5 1.9 Program structure, visibility and lifetime 5 1.10 Exception handling . 6 1.11 Implementat
4、ion options . 6 1.12 Summary of compatibility rules 6 1.13 1984-version of 2.200 6 2.0 Preliminaries . 8 2.1 Themetalanguage 8 2.1.1 The context-free syntax description 8 2.1.2 The semantic description 9 2.1.3 Theexamples . 9 2.1.4 The binding rules in the metalanguage 9 2.2 Vocabulary . 9 2.3 The u
5、se of spaces 10 2.4 Comments . 10 2.5 Format effectors . 11 2.6 Compiler directives . 11 3.0 Modes and classes 12 3.1 General 12 3.1.1 Modes 12 3.1.2 Classes 12 3.1.3 Properties of and relation between modes and classes 13 3.2 Mode definitions . 13 3.2.1 General 13 3.2.2 Synmode definitions 14 3.2.3
6、 Ncwmode definitions 14 3.3 Mode classification 15 3.4 Discretemodes . 16 3.4.1 General 1G 3.4.2 Integer modes . 16 3.4.3 Boolean modes . 17 3.4.4 Cliaracter modes 17 3.4.5 Sct modes . 17 3.4.6 Range modes . 19 3.5 Powerset modes . 21 3.6 Rcfcrence modes . 21 3.6.1 (heral 21 3.6.2 Bound reference mo
7、des . 22 3.6.3 Free reference mode 23 3.6.4 Row modes 23 3.7 Procedure modes 24 3.8 Instancemodes . 2G 3.9 Synchronisation modes 2G 3.9.1 General 26 3.9.2 Event modes . 27 3.9.3 Buffer modes . 27 3.10 Composite modes 28 3.10.1 (hieral . 28 CCITT . CHILL Users Manual 1 STD-ITU-T HDBK CUM-ENGL L98b W
8、4862571 0682535 250 3.10.2 String modes . 28 3.10.3 Array modes . 29 3.10.4 Structure modes . 31 3.10.5 Level structure notation 36 3.10.6 38 3.11 Dynamic modes 40 4.0 Locations and their accesses 41 4.1 Declarations 41 4.1.1 General 41 4.1.2 Location declarations 41 4.1.3 Loc-identity declarations
9、43 4.1.4 Based declarations . 44 4.2 Locations 46 4.2.1 General 46 4.2.2 Access names . 46 4.2.3 Dereferenced bound references 48 4.2.4 Dereferenced free references . 49 4.2.5 String elements 49 4.2.6 Substrings . 50 4.2.7 Array elements 51 4.2.8, Sub-arrays 51 4.2.9 Structure fields 52 4.2.10 Locat
10、ion procedure calls 53 4.2.11 Location built-in routine calls . 54 4.2.12 Location conversions 54 4.2.13 String slices . 55 4.2.14 Array slices 55 4.2.15 Dereferenced rows . 56 5.0 Values and their operations 58 5.1 Synonym definitions . 58 5.2 Primitive value . 59 5.2.1 General 59 5.2.2 Location co
11、ntents . 60 5.2.3 Value names 60 5.2.4 Literals 62 5.2.4.1 General . 62 5.2.4.2 Integer literals 63 5.2.4.3 Boolean literals 63 5.2.4.4 Set literals 64 5.2.4.5 Emptiness literal . 64 5.2.4.6 Procedure literals . 64 5.2.4.7 Character string literals 65 5.2.4.8 Bit string literals . 65 5.2.5 Tuples 66
12、 5.2.6 Value string element 71 5.2.7 Value substrings 71 5.2.8 Value string slices . 72 5.2.9 Value array elements 73 5.2.10 Value sub-arrays . 74 5.2.11 Value array slices . 75 5.2.12 Value structure fields . 76 5.2.13 Referenced locations 77 5.2.14 Expression conversion . 77 5.2.15 Value procedure
13、 call 78 5.2.16 Value built-in routine calls . 79 5.2.17 Start expression 82 5.2.18 Receive expression 83 5.2.19 Zero-adic operator . 84 5.2.20 Parenthesised expression 84 Layout description for array modes and structure modes 11 CCITT . CHILL Users Manual STD-ITU-T HDBK CUM-ENGL 198b = 4862593 0682
14、53b 197 m 5.3 Values and expressions 85 5.3.1 General 85 5.3.2 Expressions 85 5.3.3 Operand-1 87 5.3.4 Operand-2 87 5.3.5 Operand-3 89 5.3.6 Operand-4 91 5.3.7 Operand-5 91 6.0 Actions . 93 6.1 General 93 6.2 Assignment action 94 6.3 Ifaction 95 6.4 Caseaction . 96 6.5 Doaction 98 6.5.1 For control
15、99 6.5.2 While control 103 6.5.3 Withpart 104 6.6 Exitaction 104 6.7 Callaction 105 6.8 Result and return action 107 6.9 Goto action 108 6.10 Assert action . 108 6.11 Emptyaction 109 6.12 Causeaction . 109 6.13 Start action . 109 6.14 Stopaction . 110 6.15 Continue action . 110 6.16 Delayaction . 11
16、0 6.17 Delay case action . 111 6.18 Sendaction . 112 6.18.1 General 112 6.18.2 Send aignal action 112 6.18.3 Send buffer action 113 6.19 Receive case action 113 6.19.1 General 113 6.19.2 Receive signal case action 113 6.19.3 Receive buffer case action 115 7.0 Procedures 116 7.1 Procedure definitions
17、 116 7.2 Procedurecalls 118 7.3 Parameter passing and result transmission 121 7.4 Dynamic manipulation of procedures . 123 8.0 Concurrent executions . 126 8.1 Processes and process definitions 126 8.1.1 General . 126 8.1.2 Process definitions 127 8.1.3 Instancevalues . 129 8.2 ProceasStates . 130 8.
18、2.1 General . 130 8.2.2 Delaying of a process 131 8.2.3 Reactivation of aprocess . 131 8.3 Regions and events . 132 8.3.1 General . 132 8.3.2 Regions 133 8.3.3 Events . 135 8.4 Buffers 136 8.4.1 General . 136 8.4.2 Send buffer action . 137 8.4.3 Receive expression, Receive buffer case action . 138 C
19、CITT . CHILL Users Manual . 111 STDmITU-T HDBK CUM-ENGL 1986 Y862591 Ob82537 023 8.5 Signals 139 8.5.1 Signal definition statements 139 8.5.2 Send signal action 140 8.5.3 Receive signal case action . 141 9.0 Program structure, visibility and lifetime . 144 9.1 General . 144 9.2 Blocks and modulions
20、. 145 9.2.1 Blocks . 145 9.2.2 Modulions 145 9.3 Lifetime and visibility . 147 9.3.1 Lifetime . 147 9.3.2 Visibility 148 9.3.2.1 Introduction 148 9.3.2.2 Defining occurrences 149 9.3.2.3 Visibility definitions . 149 9.3.2.4 Visibility statements 152 9.3.2.5 Name binding . 154 9.4 Entering a scope an
21、d initialisation 156 9.4.1 Entering a scope . 156 9.4.2 Initialisatiori . 156 10.0 Exception haridling 158 10.1 Causing cxccptions 158 10.2 Exception handling 159 10.3 How is a handler found 160 11.0 IIriplementatiun options 163 12.0 Summary of compatibility ruJes . 164 12.1 Introduction 164 12.2 Mo
22、de-class compatibility . 164 12.2.1 Coniparing two locations . 165 12.2.2 Comparing a location and a value . 165 12.2.3 CoInparing two values 166 12.3 When are modes “of the sa111e kind“? 166 12.4 Comparing rcferericcs . 167 12.5 The undefined value 168 13.0 Character sets for CHILL prugrarns . 169
23、14.0 Special symbols . 170 15.0 CHILL special names . 171 15.1 Reserved names . 171 15.2 Predefined nmies . 172 15.3 Exception names . 172 15.4 Directives 172 16.0 Program examples 173 17.0 Syntax diagrams . 196 18.0 Index of production rules . 205 19.0 Clerical errors 212 19.1 Introduction . 212 19
24、.2 List of corrections to clerical errors . 213 20.0 Index 220 iv CCITT . CHILL Uaera Manual STD*ITU-T HDBK CUM-ENGL L9b m 4862591, Ob82538 TbT Chapter 1: Introduction 1 INTRODUCTION 1.1 GENERAL With the increasing use of Stored Program Control (SPC) switching systems, programming is becoming an imp
25、ortant part of telecommunications technology. This perspective was realized by CCITT already in the late 1960s when some initial investigations on SPC programming were made. In the Study Period 1973-76 specific work was started to create a family of languages for SPC use, CHILL, SDL and MML. Most of
26、 the problems to be faced in SPC programming were already then fairly well understood, and languages had been or were being developed to cope with these problems. One may therefore ask why CCITT should engage in making another programming language, adding to the already abundant flora of such langua
27、ges. There were two major reasons for this: o To provide one standard language covering all producers and users of SPC systems. o To remedy weaknesses with existing languages when applied to SPC systems and to consolidate, in one language, features only found in a variety of other languages. The sta
28、ndardization aspect was motivated by the fact that the telecommunications community is a very large one and distributed all over the world. Most producers and users of telecommunications equipment will somehow come into contact with software. Thus the benefits of standardization also in the field of
29、 software are likely to be substantial. CHILL has inherited most of its traits from other high level programming languages, drawing upon the best of the language developments of the 1970s. CHILL is truly a state of the art language now becoming available for wide use. The CHILL work started in 1975.
30、 By the end of 1979, the language proposal was completed. The CCITT plenary approved the CHILL definition in November 1980 to become CCITT Recommendation 2.200. The CHILL definition has been improved aiid enhanced in the period 19861984. In addition to Rec. 2.200 the following documents have been pr
31、oduced: 1. The CHILL Users manual, which is this document. It is based on the 1980-version of 2.200. This usera manual, unlike the Rec. 2.200 which ia compiler construction oriented, is a user oriented description of CHILL. 2. Introduction to CHILL. This is a CCITT manual giving an easy introduction
32、 to the language. 3. Formal definition of CHILL. This is a CCITT manual describing CHILL in a strict formal style using mathematical notation. Several requirements on CHILL were listed at the start of the development. CHILL should at least be suitablc for the following applications: o callhandling a
33、 test and maintenance o operating ayatema o on-line and off-line support 0 implementation of Man-Machine Language (MML) 0 acceptance testing. Even though this list is based on the needs of switching systems, the list is a very broad one. In fact this list covers most of what in computer science is k
34、nown as systems programming. Thus, in fact CHILL is a high level language for. systems programming. CCITT - CHILL Users Manual 1 STDmITU-T HDBK CUM-ENGL 178b 4862591 0682539 9Tb Chapter i: Introduction CHILL does not attempt to provide specific constructs for every application mentioned above, but r
35、ather it has a general base with a number of possibilities suitable for the particular application. Furthermore it had to be taken into account that the software of SPC systems are among the largest and most complex pieces of software ever built and that they are likely to grow even more in the futu
36、re. CHILL therefore had to be a language for programming-in-the-large rather than programming-in-the-small. To meet the above needs CHILL had to: 0 enhance reliability 0 0 be flexible and powerful permit the generation of highly efficient object code o encourage modular and structured programming o
37、be machine independent o be easy to learn and to use. CHILL as a language is machine independent. A particular implementation may, however, contain implemen- tation defined language features. Programs containing such features will in general not be portable. Reliability has been a fundamental consid
38、eration in the design of CHILL. Reason for emphasizing reliability was the simple fact that the size and complexity of SPC systems had reached the level where it was no longer possible to meet the severe reliability requirements with the current software engineering techniques. CHILL is constructed
39、to achieve both passive and active reliability. Passive reliability is achieved by designing the language constructs so as to avoid introducing errors in the first place. The constructs are flexible and powerful to model the systems in a natural way and to encourage structured and modular programmin
40、g. Active reliability is achieved by offering extensive possibilities for consistency checking, the main facilities being visibility control and mode control. To allow for this reliability without an unacceptable loss of efficiency, much of the checking can be done statically. A few language rules,
41、called the dynamic semantic conditions of CHILL, cannot be statically determined. The violation of a dynamic semantic rule causes a run-time exception. The following sections of this introduction give a survey of the CHILL language, according to 2.200 (1980). Information on 2.200 (1984) is given in
42、section 1.13. 1.2 LANGUAGE SURVEY A CHILL program consists of three parts: 0 description of data objects, o description of the actions which are to be performed on the data and o the program structure, i.e. the way the elements of the program are built up to form one entity. Data objects are describ
43、ed by declaration and definition statements. The data objects can be values or locations wherein values can be stored. Actions are described by means of action statements. They describe the operations which are to be performed upon the data object and the order in which values axe to be stored in or
44、 retrieved from data locations. Program structuring elements determine the program structure and through it the lifetime and visibility of the data objects of the program. CHILL provides for extensive static checking upon the usage of data objects in a given context. In the following sections, a sum
45、mary of the various CHILL concepts is given. Each section is an introduction to a chapter, with the same title, describing the concept in detail. 1.3 MODES AND CLASSES The basic data objects of CHILL are values and locations -where values can be stored. A value has a class attached to it, and a loca
46、tion has a mode. Modes and classes define properties of the locations and values, 2 CCITT - CHILL Users Manual STD*ITU-T HDBK CUM-ENGL L9Bb 48b259L Ob82540 618 Chapter 1: Introduction which are checked by the compiler (A mode is similar to what is called type in other programming languages such as P
47、ascal). The class of a value determines the modes of the locations which may contain that value. The mode of a location defines the set of values which may be stored in it and other properties associated with it such as its size, its internal structure and its access methods. Mod- can be explicitly
48、indicated in a program. CHILL provides for a set of predefined modes which will be mentioned later. In addition the language allows for the creation of new, possibly more complex, modes by means of mode definition statements. The predefined modes which are provided for programming sequential executi
49、ons are organised in the following categories: o discrete modes: integer, character, boolean, set (symbolic) modes and ranges thereof. o powerset modes: subsets of elements of some discrete mode. o reference modes: bound references, free references and rows used as references to locations. o compoeite modes: string, array and structure modes. o procedure modes: procedures considered as manipulatable data objects. In addition to the modes which are provided for programming sequential executions, CHILL provides also the following modes for programming concu
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1