2004-07-10 20:04:02 +00:00
|
|
|
=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
|
2006-03-14 05:42:07 +00:00
|
|
|
L<http://llvm.org/docs/Stacker.html> . The B<stkrc> compiler is fairly
|
2004-07-10 20:04:02 +00:00
|
|
|
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.
|
|
|
|
|
2004-07-10 23:41:08 +00:00
|
|
|
=item B<-s> F<stacksize>
|
2004-07-10 20:04:02 +00:00
|
|
|
|
|
|
|
Specify the stack size for the program. The default stack size, 1024, should be
|
2004-07-10 23:41:08 +00:00
|
|
|
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.
|
2004-07-10 20:04:02 +00:00
|
|
|
|
|
|
|
=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
|
|
|
|
|
2006-03-14 05:42:07 +00:00
|
|
|
L<llvm-as>, L<http://llvm.org/docs/Stacker.html>
|
2004-07-10 20:04:02 +00:00
|
|
|
|
|
|
|
=head1 AUTHORS
|
|
|
|
|
2006-03-14 05:42:07 +00:00
|
|
|
Maintained by the LLVM Team (L<http://llvm.org>).
|
2004-07-10 20:04:02 +00:00
|
|
|
|
|
|
|
=cut
|