repetition-closures

Method summary
create-constant-repetition-constant-length-matcher repetition next-fn
create-constant-repetition-matcher repetition next-fn
create-greedy-constant-length-matcher repetition next-fn
create-greedy-matcher repetition next-fn
create-greedy-no-zero-matcher repetition next-fn
create-non-greedy-constant-length-matcher repetition next-fn
create-non-greedy-matcher repetition next-fn
create-non-greedy-no-zero-matcher repetition next-fn
Function summary
create-greedy-everything-matcher maximum min-rest next-fn
Macro summary
constant-repetition-constant-length-closure check-curr-pos
greedy-constant-length-closure check-curr-pos
incf-after place &optional (delta 1) &environment env
non-greedy-constant-length-closure check-curr-pos
create-greedy-constant-length-matcher   repetition next-fn  [Generic function]

Creates a closure which tries to match REPETITION. It is assumed that REPETITION is greedy and the minimal number of repetitions is zero. It is furthermore assumed that the inner regex of REPETITION is of fixed length and doesn't contain registers.

create-greedy-no-zero-matcher   repetition next-fn  [Generic function]

Creates a closure which tries to match REPETITION. It is assumed that REPETITION is greedy and the minimal number of repetitions is zero. It is furthermore assumed that the inner regex of REPETITION can never match a zero-length string (or instead the maximal number of repetitions is 1).

create-greedy-matcher   repetition next-fn  [Generic function]

Creates a closure which tries to match REPETITION. It is assumed that REPETITION is greedy and the minimal number of repetitions is zero.

create-non-greedy-constant-length-matcher   repetition next-fn  [Generic function]

Creates a closure which tries to match REPETITION. It is assumed that REPETITION is non-greedy and the minimal number of repetitions is zero. It is furthermore assumed that the inner regex of REPETITION is of fixed length and doesn't contain registers.

create-non-greedy-no-zero-matcher   repetition next-fn  [Generic function]

Creates a closure which tries to match REPETITION. It is assumed that REPETITION is non-greedy and the minimal number of repetitions is zero. It is furthermore assumed that the inner regex of REPETITION can never match a zero-length string (or instead the maximal number of repetitions is 1).

create-non-greedy-matcher   repetition next-fn  [Generic function]

Creates a closure which tries to match REPETITION. It is assumed that REPETITION is non-greedy and the minimal number of repetitions is zero.

create-constant-repetition-constant-length-matcher   repetition next-fn  [Generic function]

Creates a closure which tries to match REPETITION. It is assumed that REPETITION has a constant number of repetitions. It is furthermore assumed that the inner regex of REPETITION is of fixed length and doesn't contain registers.

create-constant-repetition-matcher   repetition next-fn  [Generic function]

Creates a closure which tries to match REPETITION. It is assumed that REPETITION has a constant number of repetitions.

create-greedy-everything-matcher   maximum min-rest next-fn  [Function]

Creates a closure which just matches as far ahead as possible, i.e. a closure for a dot in single-line mode.

incf-after   place &optional (delta 1) &environment env  [Macro]

Utility macro inspired by C's "place++", i.e. first return the value of PLACE and afterwards increment it by DELTA.

greedy-constant-length-closure   check-curr-pos  [Macro]

This is the template for simple greedy repetitions (where simple means that the minimum number of repetitions is zero, that the inner regex to be checked is of fixed length LEN, and that it doesn't contain registers, i.e. there's no need for backtracking). CHECK-CURR-POS is a form which checks whether the inner regex of the repetition matches at CURR-POS.

non-greedy-constant-length-closure   check-curr-pos  [Macro]

This is the template for simple non-greedy repetitions (where simple means that the minimum number of repetitions is zero, that the inner regex to be checked is of fixed length LEN, and that it doesn't contain registers, i.e. there's no need for backtracking). CHECK-CURR-POS is a form which checks whether the inner regex of the repetition matches at CURR-POS.

constant-repetition-constant-length-closure   check-curr-pos  [Macro]

This is the template for simple constant repetitions (where simple means that the inner regex to be checked is of fixed length LEN, and that it doesn't contain registers, i.e. there's no need for backtracking) and where constant means that MINIMUM is equal to MAXIMUM. CHECK-CURR-POS is a form which checks whether the inner regex of the repetition matches at CURR-POS.