⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chill.brochure

📁 gcc-2.95.3 Linux下最常用的C编译器
💻 BROCHURE
字号:
              GNU CHILL: A Complete CHILL ImplementationCHILL (the CCITT High Level Language) is a strongly-typed, blockstructured language designed primarily for the implementation of largeand complex embedded systems.  Tens of millions of lines of CHILL codeexist, and about 15,000 programmers world-wide use CHILL.  Manycentral-office telephone switching systems use CHILL for their controlsoftware.CHILL was designed to  - enhance reliability and run time efficiency by means of extensive    compile time checking;  - provide sufficient flexibility and power to encompass the required     range of applications and to exploit a variety of hardware;  _ provide facilities that encourage piecewise and modular development    of large systems;  - cater to real-time implementations by providing built-in concurrency    and time supervision primitives;  - permit the generation of highly efficient object code;  - facilitate ease of use and a short learning curve.CHILL is specified in the "Blue Book":	CCITT High Level Language (CHILL) Recommendation Z.200	ISO/IEC 9496, Geneva 1989           ISBN 92-61-03801-8Cygnus Support has completed the first level implementation of the GNU CHILL compiler.  Our compiler now supports the core features ofthe CHILL language.  Our goal is a fully retargetable, completeimplementation of the Z.200 specification.  The next phase ofimplementation will include:	. a minimal real-time kernel for demonstration use	. more rigorous type checking	. retargetable input/output	. interprocess communications	. fully compliant exception handling.The State of the ImplementationThe GNU CHILL compiler is in early beta state, performing correctcompilation and execution of correctly coded programs.  Like mostCHILL compilers, the GNU compiler implements a large subset of thelanguage (as described below).Since it uses the same compiler back-ends as the GNU C and C++compilers, GNU CHILL is almost instantly available on allplatforms supported by GNU C, including the following:	m680xx, i960, i80x86, AMD29K, R3000, R4000, SPARClite,	Hitachi H8 and SH families, Z8001/2It has been specifically tested under SunOS on SPARCs and underSCO Unix on 80386s.All of the GCC optimizations apply to CHILL as well, including function inlining, dead code elimination, jump-to-jump elimination, cross-jumping (tail-merging), constant propagation, common subexpression elimination, loop-invariant code motion, strength reduction, loop unrolling, induction variable elimination, flowanalysis (copy propagation, dead store elimination and eliminationof unreachable code), dataflow-driven instruction scheduling, andmany others.I/O statements are parsed. The anticipated timeframe for I/O codegeneration is Q1 1994.What's NextThe multi-tasking functions require a small real time kernel.A free implementation of such a kernel is not yet available.We plan to offer a productized P-threads interface in Q2 1994.Other runtime functions involving strings and powersets are working.GDB, the GNU Debugger, has been modified to provide simple CHILLsupport.  Some CHILL expressions are not yet recognized.For those who aren't familiar with CHILL, here's a small butuseful example program:---- Convert binary integers to decimal-coded ASCII string--vary1: MODULE  -- include declarations so we can output the test results  <> USE_SEIZE_FILE 'chprintf.grt' <>  SEIZE chprintf;  -- create a new name for the CHAR array mode  SYNMODE dec_string = CHAR (6) VARYING;  int_to_dec_char: PROC (decimal_num INT IN)                   RETURNS (dec_string);    DCL neg_num BOOL := FALSE;        -- save sign of parameter    DCL out_string dec_string;    IF decimal_num < 0 THEN           -- positive numbers are easier      decimal_num := -decimal_num;      neg_num := TRUE;    FI    IF decimal_num = 0 THEN      out_string := '0';                 /* handle zero */    ELSE      out_string := '';      DO WHILE decimal_num /= 0;         -- loop until number is zero	-- concatenate a new digit in front of the output string        out_string := CHAR (ABS (decimal_num REM D'10) + H'30) 		      // out_string;        decimal_num := decimal_num / D'10;      OD;      IF neg_num THEN	-- prepend a hyphen for numbers < zero        out_string := '-' // out_string;   -- restore sign      FI;    FI;    RESULT out_string;               -- remember result    decimal_num := 0;                -- reset for next call    neg_num := FALSE;    out_string := '      ';  END int_to_dec_char;  /* Try some test cases */  chprintf (int_to_dec_char (123456), 0);  chprintf ("^J", 0);  chprintf (int_to_dec_char (-654321), 0);  chprintf ("^J", 0);  chprintf (int_to_dec_char (0), 0);  chprintf ("^J", 0);END vary1;CompletenessGNU CHILL currently supports the following features.  This outlinegenerally follows the structure of the Blue Book specification:	CCITT High Level Language (CHILL) Recommendation Z.200	ISO/IEC 9496, Geneva 1989           ISBN 92-61-03801-8  Modes (types)	no DYNAMIC modes yet	discrete modes		integer, boolean, character, real		multiple integer/real precisions (an extension)	set modes, range modes	powersets	references	  (no ROW modes)		procedure modes	instance modes	event modes	buffer modes	(no input/output modes yet)	(no timing modes yet)	composite modes	  strings	  arrays	  structures	VARYING string/array modes	(type-checking is not fully rigorous yet)	forward references  Expressions	literals	tuples	slices, ranges	the standard operators  Actions (statements)	assignments	if .. then .. else .. fi	cases	do action	do .. with	exits	calls	results/returns	gotos	assertions	cause exception	start/stop/continue process  Input/Output	(not yet)  Exception handling	fully compiled, but exceptions aren't	generated in all of the required situations  Time Supervision	(syntax only)  Inter-process communications	delay/delay case actions	send signal/receive case actions	send buffer/receive case actions  Multi-module programming	Seize/grant processing	multiple modules per source fileBibliographyThis list is included as an invitation.  We'd appreciate hearing of CHILL-related documents (with ISBN if possible) which aren'tdescribed here.  We're particularly interested in getting copiesof other conference Proceedings.	CCITT High Level Language (CHILL) Recommendation Z.200	ISO/IEC 9496, Geneva 1989                ISBN 92-61-03801-8	(The "blue book". The formal language definition; mostly a	 language-lawyer's document, but more readable than most.)	Study Group X - Report R 34	This is the May 1992 revision of Z.200.	An Analytic Description of CHILL, the CCITT high-level	language, Branquart, Louis & Wodon, Springer-Verlag 1981                                                 ISBN 3-540-11196-4	CHILL User's Manual	CCITT, Geneva 1986                       ISBN 92-61-02601-X	(Most readable, but doesn't cover the whole language).  	Introduction to CHILL	CCITT, Geneva 1983                       ISBN 92-61-017771-1	CHILL CCITT High Level Language	Proceedings of the 5th CHILL Conference	North-Holland, 1991                      ISBN 0 444 88904 3	Introduction to the CHILL programming Language	TELEBRAS, Campinas, Brazil 1990	CHILL: A Self-Instruction Manual	Telecommunication Institute - PITTC	Available from KVATRO A/S, N-7005 Trondheim, Norway	Phone: +47 7 52 00 90	(Great discussion of novelty.)Some of these documents are available from Global EngineeringDocuments, in Irvine, CA, USA.  +1 714 261 1455.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -