xref: /original-bsd/old/lisp/man/liszt.1 (revision 963f8367)
1.\" Copyright (c) 1980, 1990 The Regents of the University of California.
2.\" All rights reserved.
3.\"
4.\" %sccs.include.redist.roff%
5.\"
6.\"     @(#)liszt.1	6.4 (Berkeley) 05/06/91
7.\"
8.Dd
9.Dt LISZT 1
10.Os BSD 4
11.Sh NAME
12.Nm liszt
13.Nd compile a Franz Lisp program
14.Sh SYNOPSIS
15.Nm liszt
16.Op Fl mpqruwxCQST
17.Op Fl e Ar form
18.Op Fl o Ar objfile
19.Op Ar name
20.Sh DESCRIPTION
21.Nm Liszt
22takes a file whose names ends in `.l' and compiles the
23.Tn FRANZ LISP
24code there leaving an object program on the file whose name is that of the
25source with `.o' substituted for `.l'.
26.Pp
27The following options are interpreted by
28.Nm liszt .
29.Bl -tag -width Fl
30.It Fl e
31Evaluate the given form before compilation begins.
32.It Fl m
33Compile a
34.Tn MACLISP
35file, by changing the readtable to conform to
36.Tn MACLISP
37syntax and including a macro-defined compatibility package.
38.It Fl o
39Put the object code in the specified file, rather than the default `.o' file.
40.It Fl p
41places profiling code at the beginning of each non-local function.
42If the lisp system is also created with profiling in it, this allows
43function calling frequency to be determined (see
44.Xr prof  1  . )
45.It Fl q
46Only print warning and error messages.
47Compilation statistics and notes on correct but unusual constructs
48will not be printed.
49.It Fl r
50place bootstrap code at the beginning of the object file, which when
51the object file is executed will cause a lisp system to be invoked
52and the object file fasl'ed in.
53.It Fl u
54Compile a
55.Tn UCI Ns -lispfile ,
56by changing the readtable to conform to
57.Tn UCI Ns -Lisp
58syntax and including a macro-defined compatibility package.
59.It Fl w
60Suppress warning diagnostics.
61.It Fl x
62Create a lisp cross reference file with the same name as the source
63file but with  `.x' appended.
64The program
65.Xr lxref  1
66reads this file and creates a human readable cross
67reference listing.
68.It Fl C
69put comments in the assembler output of the compiler.
70Useful for debugging the compiler.
71.It Fl Q
72Print compilation statistics and warn of strange constructs.
73This is the default.
74.It Fl S
75Compile the named program and leave the assembler-language output on
76the corresponding file suffixed `.s'.
77This will also prevent the assembler language file from being assembled.
78.It Fl T
79send the assembler output to standard output.
80.El
81.Pp
82If
83no source file is specified, then the compiler will run interactively.
84You will find yourself talking to the
85.Xr lisp  1
86top-level command interpreter.
87You can compile a file by using the
88function
89.Nm liszt
90(an nlambda) with the same arguments as you use on the command line.
91For example to compile `foo', a
92.Tn MACLISP
93file, you would use:
94.Bd -literal -offset indent
95(liszt \-m foo)
96.Ed
97.Pp
98Note that
99.Nm liszt
100supplies the ``.l'' extension for you.
101.Sh FILES
102.Bl -tag -width /usr/lib/lisp/machacks.l -compact
103.It Pa /usr/lib/lisp/machacks.l
104.Tn MACLISP
105compatibility package.
106.It Pa /usr/lib/lisp/syscall.l
107Macro definitions of
108.Ux
109system calls.
110.It Pa /usr/lib/lisp/ucifnc.l
111.Tn UCI
112Lisp compatibility package.
113.El
114.Sh SEE ALSO
115.Xr lisp 1 ,
116.Xr lxref 1
117.Sh ENVIRONMENT
118.Nm Liszt
119checks these
120environment variables;
121.Ev PATH ,
122.Ev SHELL
123and
124.Ev TERM .
125.Sh HISTORY
126.Nm Lisp
127appeared in
128.Bx 3.0 .
129