xref: /csrg-svn/old/lisp/man/liszt.1 (revision 49206)
143707Scael.\" Copyright (c) 1980, 1990 The Regents of the University of California.
243707Scael.\" All rights reserved.
319178Smckusick.\"
4*49206Scael.\" %sccs.include.redist.roff%
519178Smckusick.\"
6*49206Scael.\"     @(#)liszt.1	6.4 (Berkeley) 05/06/91
743707Scael.\"
843707Scael.Dd
943707Scael.Dt LISZT 1
1043707Scael.Os BSD 4
1143707Scael.Sh NAME
1243707Scael.Nm liszt
1343707Scael.Nd compile a Franz Lisp program
1443707Scael.Sh SYNOPSIS
1543707Scael.Nm liszt
1643707Scael.Op Fl mpqruwxCQST
1743707Scael.Op Fl e Ar form
1843707Scael.Op Fl o Ar objfile
1943707Scael.Op Ar name
2043707Scael.Sh DESCRIPTION
2143707Scael.Nm Liszt
22*49206Scaeltakes a file whose names ends in `.l' and compiles the
23*49206Scael.Tn FRANZ LISP
2419178Smckusickcode there leaving an object program on the file whose name is that of the
2519178Smckusicksource with `.o' substituted for `.l'.
2643707Scael.Pp
2719178SmckusickThe following options are interpreted by
2843707Scael.Nm liszt .
29*49206Scael.Bl -tag -width Fl
30*49206Scael.It Fl e
3119179SmckusickEvaluate the given form before compilation begins.
32*49206Scael.It Fl m
33*49206ScaelCompile a
34*49206Scael.Tn MACLISP
3543707Scaelfile, by changing the readtable to conform to
36*49206Scael.Tn MACLISP
3743707Scaelsyntax and including a macro-defined compatibility package.
38*49206Scael.It Fl o
3919178SmckusickPut the object code in the specified file, rather than the default `.o' file.
40*49206Scael.It Fl p
4119178Smckusickplaces profiling code at the beginning of each non-local function.
4219178SmckusickIf the lisp system is also created with profiling in it, this allows
4319178Smckusickfunction calling frequency to be determined (see
4443707Scael.Xr prof  1  . )
45*49206Scael.It Fl q
4619178SmckusickOnly print warning and error messages.
4719178SmckusickCompilation statistics and notes on correct but unusual constructs
4819178Smckusickwill not be printed.
49*49206Scael.It Fl r
5019178Smckusickplace bootstrap code at the beginning of the object file, which when
5119178Smckusickthe object file is executed will cause a lisp system to be invoked
5219178Smckusickand the object file fasl'ed in.
53*49206Scael.It Fl u
54*49206ScaelCompile a
55*49206Scael.Tn UCI Ns -lispfile ,
56*49206Scaelby changing the readtable to conform to
57*49206Scael.Tn UCI Ns -Lisp
58*49206Scaelsyntax and including a macro-defined compatibility package.
59*49206Scael.It Fl w
6019178SmckusickSuppress warning diagnostics.
61*49206Scael.It Fl x
6219178SmckusickCreate a lisp cross reference file with the same name as the source
6319178Smckusickfile but with  `.x' appended.
6443707ScaelThe program
6543707Scael.Xr lxref  1
6619178Smckusickreads this file and creates a human readable cross
6719178Smckusickreference listing.
68*49206Scael.It Fl C
69*49206Scaelput comments in the assembler output of the compiler.
70*49206ScaelUseful for debugging the compiler.
71*49206Scael.It Fl Q
7219178SmckusickPrint compilation statistics and warn of strange constructs.
7343707ScaelThis is the default.
74*49206Scael.It Fl S
7519178SmckusickCompile the named program and leave the assembler-language output on
7619178Smckusickthe corresponding file suffixed `.s'.
7719178SmckusickThis will also prevent the assembler language file from being assembled.
78*49206Scael.It Fl T
7919178Smckusicksend the assembler output to standard output.
80*49206Scael.El
8143707Scael.Pp
8243707ScaelIf
8319178Smckusickno source file is specified, then the compiler will run interactively.
8443707ScaelYou will find yourself talking to the
8543707Scael.Xr lisp  1
8619178Smckusicktop-level command interpreter.
8719178SmckusickYou can compile a file by using the
8819178Smckusickfunction
8943707Scael.Nm liszt
9019178Smckusick(an nlambda) with the same arguments as you use on the command line.
91*49206ScaelFor example to compile `foo', a
92*49206Scael.Tn MACLISP
9343707Scaelfile, you would use:
94*49206Scael.Bd -literal -offset indent
95*49206Scael(liszt \-m foo)
96*49206Scael.Ed
9743707Scael.Pp
9819178SmckusickNote that
9943707Scael.Nm liszt
10019178Smckusicksupplies the ``.l'' extension for you.
10143707Scael.Sh FILES
102*49206Scael.Bl -tag -width /usr/lib/lisp/machacks.l -compact
103*49206Scael.It Pa /usr/lib/lisp/machacks.l
104*49206Scael.Tn MACLISP
105*49206Scaelcompatibility package.
106*49206Scael.It Pa /usr/lib/lisp/syscall.l
107*49206ScaelMacro definitions of
108*49206Scael.Ux
109*49206Scaelsystem calls.
110*49206Scael.It Pa /usr/lib/lisp/ucifnc.l
111*49206Scael.Tn UCI
112*49206ScaelLisp compatibility package.
113*49206Scael.El
11443707Scael.Sh SEE ALSO
11543707Scael.Xr lisp 1 ,
11643707Scael.Xr lxref 1
11743707Scael.Sh ENVIRONMENT
11843707Scael.Nm Liszt
11943707Scaelchecks these
12043707Scaelenvironment variables;
12143707Scael.Ev PATH ,
12243707Scael.Ev SHELL
12343707Scaeland
12443707Scael.Ev TERM .
12543707Scael.Sh HISTORY
12643707Scael.Nm Lisp
127*49206Scaelappeared in
128*49206Scael.Bx 3.0 .
129