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.