Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Provisional API: This reference documents current compiler behavior. Compatibility is not yet promised.

src/meta-helper-client.x

The compiler’s side of the project meta helper.

Functions

FunctionSummary
Compiler.begin_meta_unitSelects the table of the unit at filename for the calls that follow, and resets the unit’s meta static values before the first one.
Compiler.meta_helper_callCalls the project meta function name in the helper with the values arguments, for the call at site, and returns its result.
Compiler.stop_meta_helperStops the helper this process runs, which a translation worker does when its units are done and every process does as it ends.
Compiler.use_meta_helperUses the helper at path, or none when it is NULL, whose tables named in failures could not be built, each with why, and whose table for each input path is in units.

Compiler

Compiler.begin_meta_unit

void Compiler.begin_meta_unit(String filename)

Selects the table of the unit at filename for the calls that follow, and resets the unit’s meta static values before the first one.

Source: src/meta-helper-client.x:386

Compiler.meta_helper_call

Var Compiler.meta_helper_call( Compiler c, String name, Token site, List arguments)

Calls the project meta function name in the helper with the values arguments, for the call at site, and returns its result. A warning the body makes is reported at site and a failure it reports is the call’s failure. A body that crashes, exits, or passes the deadline ends the helper, which is reported at site and started again for the next call.

Source: src/meta-helper-client.x:75

Compiler.stop_meta_helper

void Compiler.stop_meta_helper(void)

Stops the helper this process runs, which a translation worker does when its units are done and every process does as it ends.

Source: src/meta-helper-client.x:395

Compiler.use_meta_helper

void Compiler.use_meta_helper(String path, Map failures, Map units)

Uses the helper at path, or none when it is NULL, whose tables named in failures could not be built, each with why, and whose table for each input path is in units.

Source: src/meta-helper-client.x:373

Design notes

The project meta build (meta-project.x) compiles each unit’s meta group (meta-group.x) into one helper program. This file owns the compiler’s side of that helper: starting it, one request and one reply per call, and reporting a body that fails, crashes, or runs too long.