Lichen

Annotated docs/lplc.1

570:4e9856fce8e3
2017-02-11 Paul Boddie Tidied up table output and made use of convenience macros. attr-strvalue-without-size
paul@563 1
.TH LPLC "1" "2017-02-09" "lplc 0.1" "User Commands"
paul@563 2
.SH NAME
paul@563 3
lplc \- Lichen Python-like compiler
paul@563 4
.SH SYNOPSIS
paul@563 5
.B lplc
paul@563 6
.RI [ options ]
paul@563 7
.I file
paul@563 8
.br
paul@563 9
.B lplc
paul@563 10
.I --help
paul@563 11
.br
paul@563 12
.B lplc
paul@563 13
.I --version
paul@563 14
.SH DESCRIPTION
paul@567 15
.B lplc
paul@567 16
compiles programs written in the Lichen language, taking the indicated
paul@567 17
.I file
paul@567 18
representing the principal source file of a program, compiling the program to an
paul@567 19
intermediate representation, and then building the result using a C compiler and
paul@567 20
.B make
paul@567 21
to produce an executable. Other source files need not be specified: they will be
paul@567 22
identified by the compiler and loaded as required.
paul@563 23
.SH OPTIONS
paul@563 24
The following options may be specified:
paul@563 25
.PP
paul@563 26
.TP
paul@563 27
.B \-c
paul@563 28
Only partially compile the program; do not attempt to build or link it
paul@563 29
.TP
paul@567 30
.B \-E
paul@567 31
Ignore environment variables affecting the module search path
paul@567 32
.TP
paul@563 33
.B \-g
paul@563 34
Generate debugging information for the built executable
paul@563 35
.TP
paul@567 36
.B \-P
paul@567 37
Show the module search path
paul@567 38
.TP
paul@563 39
.B \-q
paul@563 40
Silence messages produced when building an executable
paul@563 41
.TP
paul@563 42
.B \-r
paul@563 43
Reset (discard) cached program information; inspect the whole program again
paul@563 44
.TP
paul@563 45
.B \-t
paul@563 46
Silence timing messages
paul@563 47
.TP
paul@563 48
.B \-tb
paul@563 49
Provide a traceback for any internal errors (development only)
paul@563 50
.TP
paul@563 51
.B \-v
paul@563 52
Report compiler activities in a verbose fashion (development only)
paul@563 53
.PP
paul@563 54
Some options may be followed by values, either immediately after the option
paul@563 55
(without any space between) or in the arguments that follow them:
paul@563 56
.PP
paul@563 57
.TP
paul@563 58
.B \-o
paul@563 59
Indicate the output executable name
paul@563 60
.TP
paul@563 61
.B \-W
paul@563 62
Show warnings on the topics indicated
paul@563 63
.PP
paul@563 64
Currently, the following warnings are supported:
paul@563 65
.TP
paul@563 66
.B all
paul@563 67
Show all possible warnings
paul@563 68
.TP
paul@563 69
.B args
paul@563 70
Show invocations where a callable may be involved that cannot accept
paul@563 71
the arguments provided
paul@563 72
.PP
paul@563 73
The following informational options can be specified to produce output instead
paul@563 74
of compiling a program:
paul@563 75
.PP
paul@563 76
.TP
paul@567 77
.BR \-h ", " \-? ", " \-\-help
paul@563 78
Show a summary of the command syntax and options
paul@563 79
.TP
paul@567 80
.BR \-V ", " \-\-version
paul@563 81
Show version information for this tool
paul@567 82
.SH ENVIRONMENT VARIABLES
paul@567 83
.TP
paul@567 84
ARCH
paul@567 85
Indicates a prefix to be used with tool names when building an executable. This
paul@567 86
permits things like cross-compilation where tools have been provided with names
paul@567 87
featuring architecture- and system-specific prefixes. For example,
paul@567 88
.I mipsel-linux-gnu
paul@567 89
may be used to indicate the use of tools for the MIPS architecture running
paul@567 90
GNU/Linux in little-endian mode.
paul@567 91
.TP
paul@567 92
LICHENPATH
paul@567 93
A collection of directories that are searched before those in the collection
paul@567 94
comprising the default "module search path". This collection, if already defined
paul@567 95
in the environment, may be excluded by specifying the
paul@567 96
.B \-E
paul@567 97
option.
paul@567 98
.SH AUTHOR
paul@567 99
Paul Boddie <paul@boddie.org.uk>
paul@567 100
.SH RESOURCES
paul@567 101
The project Web site: http://projects.boddie.org.uk/Lichen
paul@563 102
.SH COPYRIGHT
paul@563 103
Copyright \(co 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013,
paul@563 104
2014, 2015, 2016, 2017 Paul Boddie <paul@boddie.org.uk>
paul@563 105
.PP
paul@563 106
This program is free software; you may redistribute it under the terms of
paul@563 107
the GNU General Public License version 3 or (at your option) a later version.
paul@563 108
This program has absolutely no warranty.
paul@563 109
.SH SEE ALSO
paul@563 110
.BR cc (1),
paul@563 111
.BR make (1).