diff --git a/gcc/ch/chill.brochure b/gcc/ch/chill.brochure deleted file mode 100644 index 44301edff92..00000000000 --- a/gcc/ch/chill.brochure +++ /dev/null @@ -1,252 +0,0 @@ - GNU CHILL: A Complete CHILL Implementation - -CHILL (the CCITT High Level Language) is a strongly-typed, block -structured language designed primarily for the implementation of large -and complex embedded systems. Tens of millions of lines of CHILL code -exist, and about 15,000 programmers world-wide use CHILL. Many -central-office telephone switching systems use CHILL for their control -software. - -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-8 - -Cygnus Support has completed the first level implementation of the -GNU CHILL compiler. Our compiler now supports the core features of -the CHILL language. Our goal is a fully retargetable, complete -implementation of the Z.200 specification. The next phase of -implementation 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 Implementation - -The GNU CHILL compiler is in early beta state, performing correct -compilation and execution of correctly coded programs. Like most -CHILL compilers, the GNU compiler implements a large subset of the -language (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 all -platforms supported by GNU C, including the following: - - m680xx, i960, i80x86, AMD29K, R3000, R4000, SPARClite, - Hitachi H8 and SH families, Z8001/2 - -It has been specifically tested under SunOS on SPARCs and under -SCO 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, flow -analysis (copy propagation, dead store elimination and elimination -of unreachable code), dataflow-driven instruction scheduling, and -many others. - -I/O statements are parsed. The anticipated timeframe for I/O code -generation is Q1 1994. - -What's Next - -The 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 CHILL -support. Some CHILL expressions are not yet recognized. - -For those who aren't familiar with CHILL, here's a small but -useful 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; - -Completeness - -GNU CHILL currently supports the following features. This outline -generally 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 file - - -Bibliography - -This list is included as an invitation. We'd appreciate hearing -of CHILL-related documents (with ISBN if possible) which aren't -described here. We're particularly interested in getting copies -of 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 Engineering -Documents, in Irvine, CA, USA. +1 714 261 1455.