rules: predicate: - tautology - contradiction - identifier - not - and - or - eq - neq - lt - lte - gt - gte - in - intersect - native tautology: - [ true ] contradiction: - [ false ] identifier: - [ name ] qualified_identifier: - [ name, name ] not: - [ predicate ] and: - [ predicate+ ] or: - [ predicate+ ] eq: - [ term, term ] neq: - [ term, term ] lt: - [ term, term ] lte: - [ term, term ] gt: - [ term, term ] gte: - [ term, term ] in: - [ varref, values ] intersect: - [ varref, values ] term: - varref - literal varref: - qualified_identifier - identifier native: - [ "::Proc" ] literal: - "::Object" values: - "::Object" name: !ruby/regexp /^[a-zA-Z0-9_]+[?!]?$/