Chapter 21 — The Whole Toolbox

Everything inglec can do to a program, in one place. The general shape is inglec [flags] <file.ig>.

Command What it does
inglec --emit=run file.ig Compile and execute. The one you’ll use most. Prints output, then => <value>.
inglec --emit=tokens file.ig Show the token stream (what the lexer saw).
inglec --emit=ast file.ig Show the parsed syntax tree.
inglec --emit=bytecode file.ig Show the compiled bytecode, annotated with source lines.
inglec --emit=trace file.ig Execute and emit the execution tape (JSON Lines).
inglec --tape file.ig Alias for --emit=trace.
inglec --emit=check file.ig Property-fuzz every checkable contract; report counterexamples.
inglec --emit=prove file.ig Statically prove the contracts in the decidable (linear-integer) fragment.
inglec --emit=replay file.ig Record-and-replay the run; verify it’s deterministic.
inglec --emit=docs file.ig Render /// doc comments to a Markdown reference page.
inglec --emit=c file.ig Lower to C. Print the standalone C translation unit the native backend produces.
inglec -o <bin> file.ig Compile to a native binary. Emit that C and link it against the runtime into a standalone executable — no VM.

The last two are the native backend, and they get their own chapter: Chapter 22: Compiling to Native.

Two flags combine with the above:

Flag Effect
--release Elide contract and assert checks (zero runtime cost).
--diagnostics=json Emit compile errors as JSON objects instead of friendly text.

Exit codes, for scripting: 0 success · 64 you used the compiler wrong · 65 your program has an error (lexical, syntax, type, or runtime) · 66 the source file couldn’t be read.