object

# `sequence_grammars`

Sequence grammars.

Availability:
`logtalk_load(grammars(loader))`
Author: Paulo Moura
Version: 0:4:0
Date: 2025-10-06
Compilation flags:
`static, context_switching_calls`
Dependencies:
(none)
Remarks:
(none)
Inherited public predicates:
(none)

## Public predicates

### `zero_or_more//2`

Eagerly collect zero or more terminals that satisfy the given closure.

Compilation flags:
`static`
Template:
`zero_or_more(Closure,Terminals)`
Meta-predicate template:
`zero_or_more(1,*)`
Mode and number of proofs:
`zero_or_more(+callable,-list(atomic))` - `one`

### `one_or_more//2`

Eagerly collect one or more terminals that satisfy the given closure.

Compilation flags:
`static`
Template:
`one_or_more(Closure,Terminals)`
Meta-predicate template:
`one_or_more(1,*)`
Mode and number of proofs:
`one_or_more(+callable,-list(atomic))` - `zero_or_one`

### `zero_or_more//1`

Eagerly collect zero or more terminals.

Compilation flags:
`static`
Template:
`zero_or_more(Terminals)`
Mode and number of proofs:
`zero_or_more(-list(atomic))` - `one`

### `one_or_more//1`

Eagerly collect one or more terminals.

Compilation flags:
`static`
Template:
`one_or_more(Terminals)`
Mode and number of proofs:
`one_or_more(-list(atomic))` - `zero_or_one`

### `zero_or_more//0`

Eagerly parse zero or more terminals.

Compilation flags:
`static`
Mode and number of proofs:
`zero_or_more` - `one`

### `one_or_more//0`

Eagerly parse one or more terminals.

Compilation flags:
`static`
Mode and number of proofs:
`one_or_more` - `zero_or_one`

### `without//2`

Collects input terminals until one of the stop terminals is found. The stop terminals are excluded from the collected terminals.

Compilation flags:
`static`
Template:
`without(StopTerminals,Terminals)`
Mode and number of proofs:
`without(+list(atomic),-list(atomic))` - `one`

## Protected predicates

(none)

## Private predicates

(none)

## Operators

(none)