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