1*43707Scael.\" Copyright (c) 1980, 1990 The Regents of the University of California. 2*43707Scael.\" All rights reserved. 319178Smckusick.\" 4*43707Scael.\" %sccs.include.redist.man% 519178Smckusick.\" 6*43707Scael.\" @(#)liszt.1 6.2 (Berkeley) 06/24/90 7*43707Scael.\" 8*43707Scael.Dd 9*43707Scael.Dt LISZT 1 10*43707Scael.Os BSD 4 11*43707Scael.Sh NAME 12*43707Scael.Nm liszt 13*43707Scael.Nd compile a Franz Lisp program 14*43707Scael.Sh SYNOPSIS 15*43707Scael.Nm liszt 16*43707Scael.Op Fl mpqruwxCQST 17*43707Scael.Op Fl e Ar form 18*43707Scael.Op Fl o Ar objfile 19*43707Scael.Op Ar name 20*43707Scael.Sh DESCRIPTION 21*43707Scael.Nm Liszt 22*43707Scaeltakes a file whose names ends in `.l' and compiles the FRANZ 23*43707ScaelLISP 2419178Smckusickcode there leaving an object program on the file whose name is that of the 2519178Smckusicksource with `.o' substituted for `.l'. 26*43707Scael.Pp 2719178SmckusickThe following options are interpreted by 28*43707Scael.Nm liszt . 29*43707Scael.Tw Fl 30*43707Scael.Tp Fl e 3119179SmckusickEvaluate the given form before compilation begins. 32*43707Scael.Tp Fl m 33*43707ScaelCompile a MACLISP 34*43707Scaelfile, by changing the readtable to conform to 35*43707ScaelMACLISP 36*43707Scaelsyntax and including a macro-defined compatibility package. 37*43707Scael.Tp Fl o 3819178SmckusickPut the object code in the specified file, rather than the default `.o' file. 39*43707Scael.Tp Fl p 4019178Smckusickplaces profiling code at the beginning of each non-local function. 4119178SmckusickIf the lisp system is also created with profiling in it, this allows 4219178Smckusickfunction calling frequency to be determined (see 43*43707Scael.Xr prof 1 . ) 44*43707Scael.Tp Fl q 4519178SmckusickOnly print warning and error messages. 4619178SmckusickCompilation statistics and notes on correct but unusual constructs 4719178Smckusickwill not be printed. 48*43707Scael.Tp Fl r 4919178Smckusickplace bootstrap code at the beginning of the object file, which when 5019178Smckusickthe object file is executed will cause a lisp system to be invoked 5119178Smckusickand the object file fasl'ed in. 52*43707Scael.Tp Fl u 5319178SmckusickCompile a UCI-lispfile, by changing the readtable to conform to 5419178SmckusickUCI-Lisp syntax and including a macro-defined compatibility package. 55*43707Scael.Tp Fl w 5619178SmckusickSuppress warning diagnostics. 57*43707Scael.Tp Fl x 5819178SmckusickCreate a lisp cross reference file with the same name as the source 5919178Smckusickfile but with `.x' appended. 60*43707ScaelThe program 61*43707Scael.Xr lxref 1 6219178Smckusickreads this file and creates a human readable cross 6319178Smckusickreference listing. 64*43707Scael.Tp Fl C 6519178Smckusickput comments in the assembler output of the compiler. Useful 6619178Smckusickfor debugging the compiler. 67*43707Scael.Tp Fl Q 6819178SmckusickPrint compilation statistics and warn of strange constructs. 69*43707ScaelThis is the default. 70*43707Scael.Tp Fl S 7119178SmckusickCompile the named program and leave the assembler-language output on 7219178Smckusickthe corresponding file suffixed `.s'. 7319178SmckusickThis will also prevent the assembler language file from being assembled. 74*43707Scael.Tp Fl T 7519178Smckusicksend the assembler output to standard output. 76*43707Scael.Tp 77*43707Scael.Pp 78*43707ScaelIf 7919178Smckusickno source file is specified, then the compiler will run interactively. 80*43707ScaelYou will find yourself talking to the 81*43707Scael.Xr lisp 1 8219178Smckusicktop-level command interpreter. 8319178SmckusickYou can compile a file by using the 8419178Smckusickfunction 85*43707Scael.Nm liszt 8619178Smckusick(an nlambda) with the same arguments as you use on the command line. 87*43707ScaelFor example to compile `foo', a MACLISP 88*43707Scaelfile, you would use: 89*43707Scael.Pp 90*43707Scael.Dl (liszt \-m foo) 91*43707Scael.Pp 9219178SmckusickNote that 93*43707Scael.Nm liszt 9419178Smckusicksupplies the ``.l'' extension for you. 95*43707Scael.Sh FILES 96*43707Scael.Dw /usr/lib/lisp/machacks.l 97*43707Scael.Di L 98*43707Scael.Dp Pa /usr/lib/lisp/machacks.l 99*43707ScaelMACLISP 100*43707Scaelcompatibility package 101*43707Scael.Dp Pa /usr/lib/lisp/syscall.l 102*43707Scaelmacro definitions of Unix system calls 103*43707Scael.Dp Pa /usr/lib/lisp/ucifnc.l 104*43707ScaelUCI Lisp compatibility package 105*43707Scael.Dp 106*43707Scael.Sh AUTHOR 10719178SmckusickJohn Foderaro 108*43707Scael.Sh SEE ALSO 109*43707Scael.Xr lisp 1 , 110*43707Scael.Xr lxref 1 111*43707Scael.Sh ENVIRONMENT 112*43707Scael.Nm Liszt 113*43707Scaelchecks these 114*43707Scaelenvironment variables; 115*43707Scael.Ev PATH , 116*43707Scael.Ev SHELL 117*43707Scaeland 118*43707Scael.Ev TERM . 119*43707Scael.Sh HISTORY 120*43707Scael.Nm Lisp 121*43707Scaelappeared in 3 BSD. 122