u6a/man/u6a.1

77 lines
2.0 KiB
Groff

.TH "U6A" "1" "Jan 30, 2020" "0.1.1" "U6A User Manual"
.
.SH NAME
u6a - Runtime for the Unlambda programming language
.
.SH SYNOPSIS
.B u6a
.RI [ options ]
.I bytecode-file
.
.SH DESCRIPTION
Load and execute Unlambda bytecode from the given
.IR bytecode-file ,
or
.B STDIN
if "-" is given.
.
.SH OPTIONS
.TP
\fB\-s\fR, \fB\-\-stack\-segment\-size\=\fIelem-count\fR
Specify size of each stack segment of Unlambda VM to
.IR elem-count .
Default: 256.
.TP
\fB\-p\fR, \fB\-\-pool\-size\fR=\fIelem-count\fR
Specify size of object pool of Unlambda VM to
.IR elem-count .
Deafult: 1048576.
.TP
\fB\-i\fR, \fB\-\-info\fR
Print info (version, segment size, etc.) corresponding to the
.IR bytecode-file ,
then exit.
.TP
\fB\-f\fR, \fB\-\-force\fR
Attempt to execute even when the
.I bytecode-file
version is not compatible.
Meanwhile, ignore unrecognizable instructions and data during execution.
.TP
\fB\-H\fR, \fB\-\-help\fR
Prints help message, then exit.
.TP
\fB\-V\fR, \fB\-\-version\fR
Prints version number, then exit.
.
.SH NOTES
.SS Bytecode Files
.TP
Version compatiblility:
Definition of Unlambda bytecode may differ across multiple versions of u6a.
Execution result is guaranteed to be consistent when both major and minor versions of bytecode file and the interpreter matches.
Otherwise, the code may not work as expected and the interpreter will refuse to execute unless
.B -f
option is provided.
.TP
Redundant data:
While reading data from
.IR bytecode-file ,
any bytes before the first occurrence of magic number
.I 0xDC
is ignored.
The same is true for bytes after
.I .rodata
segment, however, if read from
.BR STDIN ,
they could be read by the current Unlambda program.
.
.SH SEE ALSO
.BR u6ac (1)
.
.SH COPYRIGHT
Copyright (c) 2020 CismonX <admin@cismon.net>
.PP
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty, provided the copyright notice and this notice are preserved.
This file is offered as-is, without any warranty.