parser 1.0.0
UTF-8 CEL expression compilation and checked library extensions
Loading...
Searching...
No Matches
compiler.hpp File Reference

Provides CEL expression compilation for clients with an owned operation registry. See <cel/parser/lookup.hpp> for library registrations. More...

Go to the source code of this file.

Classes

class  cel::parser
 Owns lookup state and compiles CEL expressions into reusable checked programs. Each successful call returns a program owning its values, descriptors, and emitted runtime callbacks; the source and parser need not survive the program. References inside client captures remain client-owned and must outlive their uses. Custom scope callbacks and emitters follow their own code-retention contracts. Precondition: clients provide exclusive access across threads, including during emitters. Recursive entry throws std::logic_error before changing cursor or lookup state. Failed parsing retires temporary scopes; subsequent parses may reuse the parser. A selected client emitter's own failure leaves its lookup state subject to its contract. Compilation invokes lookup scopes and emitters, not the emitted runtime operations. Copying and moving are unavailable. Compile and execute a program independently of its parser: More...

Namespaces

namespace  cel
 Provides checked CEL compilation, extension libraries, and owned results.

Detailed Description

Provides CEL expression compilation for clients with an owned operation registry. See <cel/parser/lookup.hpp> for library registrations.