aboutsummaryrefslogtreecommitdiff
path: root/gcc/ch/chill.brochure
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ch/chill.brochure')
-rw-r--r--gcc/ch/chill.brochure252
1 files changed, 0 insertions, 252 deletions
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.