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