diff options
| author | _ov4 <ov4@ov4.org> | 2026-10-13 03:35:29 +0000 |
|---|---|---|
| committer | _ov4 <ov4@ov4.org> | 2026-10-13 03:35:29 +0000 |
| commit | e591f33cc53e78fe4205cf7b0d6b228557af82a7 (patch) | |
| tree | 445d19f5e778f586b94106afcd8432f2cbc05ceb | |
| parent | c57f3a7d45123ac05829dbaeb1a66625429f3609 (diff) | |
docs: add cpsc command-line man quick reference
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
| -rw-r--r-- | doc/cpsc.md | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/doc/cpsc.md b/doc/cpsc.md new file mode 100644 index 0000000..0f45377 --- /dev/null +++ b/doc/cpsc.md @@ -0,0 +1,74 @@ +% CPSC(1) + +# NAME + +cpsc - compile and run CIE pseudocode + +# SYNOPSIS + +**cpsc** [**-r**] [**-o** *output*] *source* + +# DESCRIPTION + +Compile one pseudocode source file to LLVM IR. Options may appear before or +after the source path. Source input from stdin is not supported. + +Without **-o** or **-r**, replace the source filename's extension with `.ir` +and save the output beside the source file. + +# OPTIONS + +**-o** *output* +: Save IR to the specified path. May be specified only once. With **-r**, + keep this file even if execution fails. + +**-r** +: Run the compiled program using `lli` from PATH. Without **-o**, use a + temporary IR file and delete it afterward, including on execution failure. + The program inherits stdin, stdout and stderr; `INPUT` can read terminal + or piped input. + +# EXAMPLES + +Compile and save `test.ir` beside `test.cps`: + +```sh +cpsc test.cps +``` + +Choose the output path: + +```sh +cpsc test.cps -o result.ir +``` + +Run without saving permanent IR: + +```sh +cpsc test.cps -r +``` + +Save IR and run it: + +```sh +cpsc test.cps -r -o result.ir +``` + +# EXIT STATUS + +**0** +: Compilation succeeded. Invoking `cpsc` with no arguments also exits + silently with status 0. + +**1** +: An argument, file, compilation or execution-launch error occurred, + including when `lli` cannot be found in PATH. + +With **-r**, return `lli`'s exit status. Failure to launch it or a process +crash returns 1. + +# NOTES + +Compiler diagnostics go to stderr. Failed compilation does not write IR. +Successful compilation overwrites an existing output file, but an output path +that refers to the source file (including a symbolic or hard link) is rejected. |
