Tool Open source
Common Expression Language (CEL) is an embeddable expression language and specification for interoperable expression evaluation across applications, programming languages, and platforms. Its syntax resembles expressions in C, C++, Java, and JavaScript, and it is designed for uses such as security policies and protocol data.
A CEL system compiles a textual expression into an abstract syntax tree and binary representation, evaluates that representation against a context containing typed variables such as protocol-buffer messages, and usually produces a Boolean result. The embedding application supplies functions and data through the evaluation context. CEL is mutation-free, not Turing-complete, and designed for linear-time evaluation; type-checked expressions can be serialized as canonical protocol buffers for persistence or cross-process communication. The specification and accompanying tooling are released under the Apache License.