File: ick.1

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