Thorin 1.9.0
The Higher ORder INtermediate representation
No Matches
Command-Line Reference

Table of Contents


thorin [-?|-h|--help] [-v|--version] [-c|--clang <clang>] [-d|--dialect <dialect>] [-D|--dialect-path <path>] [-V|--verbose] [-O|--optimize <level>] [--output-dot <file>] [--output-h <file>] [--output-ll <file>] [--output-md <file>] [-o|--output-thorin <file>] [--dump-gid <level>] [--dump-recursive] [-b|--break <gid>] [--reeval-breakpoints] [--trace-gids] [<file>]
Display usage information.
-?, -h, --help
-v, --version Display version info and exit.
-c, --clang <clang> Path to clang executable (default: 'which clang').
-d, --dialect <dialect> Dynamically load dialect [WIP].
-D, --dialect-path <path>
Path to search dialects in.
-V, --verbose Verbose mode. Multiple -V options increase the verbosity. The maximum is 4.
-O, --optimize <level> Optimization level (default: 2).
--output-dot <file> Emits the Thorin program as a graph using Graphviz' DOT language.
--output-h <file> Emits a header file to be used to interface with a dialect in C++.
--output-ll <file> Compiles the Thorin program to LLVM.
--output-md <file> Emits the input formatted as Markdown.
-o, --output-thorin <file>
Emits the Thorin program again.
--dump-gid <level> Dumps gid of inline expressions as a comment in output if <level> > 0. Use a <level> of 2 to also emit the gid of trivial defs.
--dump-recursive Dumps Thorin program with a simple recursive algorithm that is not readable again from Thorin but is less fragile and also works for broken Thorin programs.
-b, --break <gid> Trigger breakpoint upon construction of node with global id <gid>. Useful when running in a debugger.
--reeval-breakpoints Triggers breakpoint even upon unfying a node that has already been built.
--trace-gids Output gids during World::unify/insert.
<file> Input file.
Use "-" as <file> to output to stdout.

Debugging Features