| =pod | 
 |  | 
 | =head1 NAME | 
 |  | 
 | stkrc - Stacker Compiler | 
 |  | 
 | =head1 SYNOPSIS | 
 |  | 
 | B<stkrc> [I<options>] [I<filename>] | 
 |  | 
 | =head1 DESCRIPTION | 
 |  | 
 | The B<stkrc> command is the compiler for the Stacker language. Stacker is a | 
 | simple stack based, Forth-like language that was written as a demonstration | 
 | language for LLVM. For details on the language, please see | 
 | L<http://llvm.cs.uiuc.edu/docs/Stacker.html> . The B<stkrc> compiler is fairly  | 
 | minimal. It compiles to bytecode only and doesn't perform any optimizations. | 
 | The output of stkrc (a bytecode file) can be piped through other LLVM tools | 
 | for optimization and linking. | 
 |  | 
 | If F<filename> is omitted or is C<->, then B<stkrc> reads its input  | 
 | from standard input. This is useful for combining the tool into a pipeline. | 
 |  | 
 | If an output file is not specified with the B<-o> option, then | 
 | B<llvm-as> sends its output to a file or standard output by following | 
 | these rules: | 
 |  | 
 | =over  | 
 |  | 
 | =item * | 
 |  | 
 | If the input is standard input, then the output is standard output. | 
 |  | 
 | =item * | 
 |  | 
 | If the input is a file that ends with C<.st>, then the output file is of | 
 | the same name, except that the suffix is changed to C<.bc>. | 
 |  | 
 | =item * | 
 |  | 
 | If the input is a file that does not end with the C<.st> suffix, then the | 
 | output file has the same name as the input file, except that the C<.bc> | 
 | suffix is appended. | 
 |  | 
 | =back | 
 |  | 
 | =head1 OPTIONS | 
 |  | 
 | =over | 
 |  | 
 | =item B<-o> F<filename> | 
 |  | 
 | Specify the output file name.  If F<filename> is C<->, then B<llvm-as> | 
 | sends its output to standard output. | 
 |  | 
 | =item B<-stats> | 
 |  | 
 | Print statistics acquired during compilation. | 
 |  | 
 | =item B<-time-passes> | 
 |  | 
 | Record the amount of time needed for each pass and print it to standard | 
 | error. | 
 |  | 
 | =item B<-f> | 
 |  | 
 | Force the output to be written. Normally, B<stkrc> won't overwrite an existing | 
 | bytecode file. This option overrides that behavior.  | 
 |  | 
 | =item B<-s> F<stacksize> | 
 |  | 
 | Specify the stack size for the program. The default stack size, 1024, should be | 
 | sufficient for most programs. For very large programs, especially those that  | 
 | recurse a lot, you might want to provide a larger value. Each unit of this | 
 | value consumes 8 bytes of memory. | 
 |  | 
 | =item B<-help> | 
 |  | 
 | Print a summary of command line options. | 
 |  | 
 | =back | 
 |  | 
 | =head1 EXIT STATUS | 
 |  | 
 | If B<stkrc> succeeds, it will exit with 0.  Otherwise, if an error | 
 | occurs, it will exit with a non-zero value, usually 1. | 
 |  | 
 | =head1 SEE ALSO | 
 |  | 
 | L<llvm-as>, L<http://llvm.cs.uiuc.edu/docs/Stacker.html> | 
 |  | 
 | =head1 AUTHORS | 
 |  | 
 | Maintained by the LLVM Team (L<http://llvm.cs.uiuc.edu>). | 
 |  | 
 | =cut |