parser 1.0.0
UTF-8 CEL expression compilation and checked library extensions
Loading...
Searching...
No Matches
Source diagnostics

Detailed Description

Classify compilation failures and locate them with half-open UTF-8 byte intervals. Client-emitter and execution exceptions propagate independently.

Classes

struct  cel::source_span
 Identifies a half-open UTF-8 byte interval; begin never exceeds end. Example: source_span{0, 4} covers all bytes of "true". More...
class  cel::parse_error
 Owns a source-located diagnostic; copied diagnostics own independent messages. Example: parse_error(error_category::malformed_input, {0, 1}, "invalid input"). More...

Enumerations

enum class  cel::error_category {
  cel::error_category::malformed_input , cel::error_category::unsupported_literal , cel::error_category::type_error , cel::error_category::lookup_error ,
  cel::error_category::delimiter_error , cel::error_category::resource_limit
}
 Classifies a source diagnostic independently of its human-readable message. Example: error_category::unsupported_literal identifies an f32 suffix. More...

Enumeration Type Documentation

◆ error_category

enum class cel::error_category
strong

Classifies a source diagnostic independently of its human-readable message. Example: error_category::unsupported_literal identifies an f32 suffix.

Enumerator
malformed_input 

Invalid UTF-8, spelling, comment, or input character.

unsupported_literal 

A literal or suffix outside bool/binary64 scope.

type_error 

An unknown, unsupported, ineligible, or incompatible type.

lookup_error 

An undefined name or unmatched operation signature.

delimiter_error 

An unmatched, mismatched, or unclosed delimiter.

resource_limit 

A documented producer or compilation resource limit.