996
|
1 .TH ICK 1
|
|
2 .\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection
|
|
3 .\" other parms are allowed: see man(7), man(1)
|
|
4 .\"
|
|
5 .\" Modified by Alex Smith under the terms of the GPL.
|
|
6 .SH NAME
|
|
7 ick \- INTERCAL compiler
|
|
8 .SH SYNOPSIS
|
|
9 .B ick
|
|
10 .I "[options] file..."
|
|
11 .PP
|
|
12 .B ick
|
|
13 .I "-e [options] intercal-file [non-intercal-file...] [library...]"
|
|
14 .SH "DESCRIPTION"
|
|
15 This manual page documents briefly the
|
|
16 .BR ick
|
|
17 command.
|
|
18 This manual page was originally written for the Debian GNU/Linux
|
|
19 distribution (but may be used by others), because the original program
|
|
20 did not have a manual page, and was then added back to the main
|
|
21 distribution.
|
|
22 Fuller documentation is available via the command
|
|
23 .B info ick
|
|
24 (for the
|
|
25 .B ick
|
|
26 command itself; even fuller documentation is available via
|
|
27 .B info C-INTERCAL
|
|
28 (which contains the documentation for both the compiler and the
|
|
29 INTERCAL language)).
|
|
30 .\"Comment this back in on Debian:
|
|
31 .\"There is also other documentation in
|
|
32 .\".B /usr/share/doc/intercal
|
|
33 .\"and
|
|
34 .\".B /usr/share/doc/intercal/examples
|
|
35 .\"as one would expect on a Debian system.
|
|
36 .PP
|
|
37 .B ick
|
|
38 takes INTERCAL programs and generates code from them (by running gcc).
|
|
39 .PP
|
|
40 Note that the base in which a program is written is deduced from its
|
|
41 extension; INTERCAL programs in base 2 must have the extension .i,
|
|
42 INTERCAL programs in bases from 3 to 7 must have an extension from .3i
|
|
43 to .7i respectively.
|
|
44 .PP
|
|
45 No options take arguments; multiple options can be given separately or
|
|
46 combined in the usual way (even -e).
|
|
47 The order in which options is given is irrelevant unless they
|
|
48 conflict, in which case the options that are given last on the command
|
|
49 line take precedence.
|
|
50 .SH OPTIONS
|
|
51 .TP
|
|
52 .B \-c
|
|
53 Compile INTERCAL to C, but don't compile the resulting C.
|
|
54 .TP
|
|
55 .B \-d
|
|
56 Print yacc debugging information (implies -c).
|
|
57 .TP
|
|
58 .B \-t
|
|
59 Requires strict INTERCAL-72 compliance (rejecting COME FROM, the extensions
|
|
60 for bases other than two, and other features not found in INTERCAL-72).
|
|
61 .TP
|
|
62 .B \-b
|
|
63 Disables the INTERCAL-72 random-bug feature.
|
|
64 .TP
|
|
65 .B \-O
|
|
66 Attempt to optimize expressions in the generated code.
|
|
67 .TP
|
|
68 .B \-C
|
|
69 Clockface output (using IIII rather than IV in Roman numerals).
|
|
70 .TP
|
|
71 .B \-f
|
|
72 Optimize control flow in generated code (prevents -yp).
|
|
73 .TP
|
|
74 .B \-F
|
|
75 Optimize everything in generated code for
|
|
76 speed, regardless of how slow the compiler becomes or how
|
|
77 large the object file becomes. Implies -fO, prevents -cdeghpyH.
|
|
78 .TP
|
|
79 .B \-h
|
|
80 Print optimizer debugging information (implies -cO).
|
|
81 .TP
|
|
82 .B \-H
|
|
83 Print verbose optimizer debugging information (implies -cO).
|
|
84 .TP
|
|
85 .B \-hH
|
|
86 Print optimizer debugging information in a different form (implies
|
|
87 -cO).
|
|
88 .TP
|
|
89 .B \-w
|
|
90 Enable the +printflow option in output programs even if they are not
|
|
91 multithreaded.
|
|
92 .TP
|
|
93 .B \-y
|
|
94 Run the yuk debugger on the code (prevents -fme).
|
|
95 .TP
|
|
96 .B \-p
|
|
97 Run the yuk profiler on the code (prevents -fme).
|
|
98 .TP
|
|
99 .B \-m
|
|
100 Allow multithreading and backtracking (prevents -ype, implies -w).
|
|
101 .TP
|
|
102 .B \-e
|
|
103 Link one INTERCAL file to non-INTERCAL files or to expansion libraries.
|
|
104 Doing this changes the syntax of the command line; the first file
|
|
105 given must be the INTERCAL source file, then this can be followed by
|
|
106 any number of files in other languages to link via the external calls
|
|
107 system (currently only C programs are allowed), and then any number of
|
|
108 expansion libraries.
|
|
109 The non-INTERCAL files will be processed to link them to the INTERCAL
|
|
110 files, and then compiled with gcc and linked to the main INTERCAL
|
|
111 program.
|
|
112 .TP
|
|
113 .B \-E
|
|
114 Do not link the system library, even if the code suggests that it is
|
|
115 needed (prevents -P).
|
|
116 .TP
|
|
117 .B \-a
|
|
118 Allow the use of the CREATE statement (prevents -P).
|
|
119 .TP
|
|
120 .B \-v
|
|
121 Allow anything on the left of an assignment, and turn off the
|
|
122 protection that constants otherwise have against being assigned to
|
|
123 (prevents -fFOP).
|
|
124 .TP
|
|
125 .B \-P
|
|
126 Compile PIC-INTERCAL rather than INTERCAL (prevents -amFvxeE, implies -cfO).
|
|
127 .TP
|
|
128 .B \-o
|
|
129 Output to stdout rather than .c (implies -c).
|
|
130 .TP
|
|
131 .B \-X
|
|
132 Interpret ambiguous syntax such as ? and @ with Princeton meanings (as
|
|
133 used by CLC-INTERCAL), rather than with the default Atari meanings.
|
|
134 .TP
|
|
135 .B \-x
|
|
136 Use CLC-INTERCAL rules for text I/O and for abstaining from a GIVE UP
|
|
137 by label (prevents -P).
|
|
138 .TP
|
|
139 .B \-u
|
|
140 Print a message whenever the compiler tries to open a file.
|
|
141 .TP
|
|
142 .B \-U
|
|
143 Dump core on E778 as well as printing an error.
|
|
144 .TP
|
|
145 .B \-Y
|
|
146 Display the command lines for programs invoked by ick.
|
|
147 .TP
|
|
148 .B \-g
|
|
149 Leave the generated C in place, and make the output executable
|
|
150 debuggable.
|
|
151 .TP
|
|
152 .B \-l
|
|
153 Attempt to report likely bugs and nonportabilities (implies -O).
|
|
154 .SH "SEE ALSO"
|
|
155 The newsgroup
|
|
156 .B alt.lang.intercal
|
|
157 is where INTERCAL compilers are announced, and INTERCAL itself is
|
|
158 discussed; the website
|
|
159 .B http://intercal.freeshell.org
|
|
160 is where the most recent versions of C-INTERCAL (and also
|
|
161 CLC-INTERCAL) are currently hosted.
|
|
162 .
|
|
163 .SH AUTHOR
|
|
164 .B ick
|
|
165 was originally written by Eric S. Raymond.
|
|
166 This manual page was originally written by Mark W. Eichin
|
|
167 <eichin@kitten.gen.ma.us>, for the Debian GNU/Linux system.
|