=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.org/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.org/docs/Stacker.html> =head1 AUTHORS Maintained by the LLVM Team (L<http://llvm.org>). =cut