optimize

Method summary
compute-min-rest regex current-min-rest
end-string-aux regex &optional old-case-insensitive-p
flatten regex
gather-strings regex
start-anchored-p regex &optional in-seq-p
Function summary
end-string regex
flatten   regex  [Generic function]

Merges adjacent sequences and alternations, i.e. it transforms #<SEQ #<STR "a"> #<SEQ #<STR "b"> #<STR "c">>> to #<SEQ #<STR "a"> #<STR "b"> #<STR "c">>. This is a destructive operation on REGEX.

gather-strings   regex  [Generic function]

Collects adjacent strings or characters into one string provided they have the same case mode. This is a destructive operation on REGEX.

start-anchored-p   regex &optional in-seq-p  [Generic function]

Returns T if REGEX starts with a "real" start anchor, i.e. one that's not in multi-line mode, NIL otherwise. If IN-SEQ-P is true the function will return :ZERO-LENGTH if REGEX is a zero-length assertion.

end-string-aux   regex &optional old-case-insensitive-p  [Generic function]

Returns the constant string (if it exists) REGEX ends with wrapped into a STR object, otherwise NIL. OLD-CASE-INSENSITIVE-P is the CASE-INSENSITIVE-P slot of the last STR collected or :VOID if no STR has been collected yet. (This is a helper function called by END-STRIN.)

compute-min-rest   regex current-min-rest  [Generic function]

Returns the minimal length of REGEX plus CURRENT-MIN-REST. This is similar to REGEX-MIN-LENGTH except that it recurses down into REGEX and sets the MIN-REST slots of REPETITION objects.

end-string   regex  [Function]

Returns the constant string (if it exists) REGEX ends with wrapped into a STR object, otherwise NIL.