.. index:: single: sequence_grammars
.. _sequence_grammars/0:

.. rst-class:: right

**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)

.. contents::
   :local:
   :backlinks: top

Public predicates
-----------------

.. index:: zero_or_more//2
.. _sequence_grammars/0::zero_or_more//2:

``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``


------------

.. index:: one_or_more//2
.. _sequence_grammars/0::one_or_more//2:

``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``


------------

.. index:: zero_or_more//1
.. _sequence_grammars/0::zero_or_more//1:

``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``


------------

.. index:: one_or_more//1
.. _sequence_grammars/0::one_or_more//1:

``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``


------------

.. index:: zero_or_more//0
.. _sequence_grammars/0::zero_or_more//0:

``zero_or_more//0``
^^^^^^^^^^^^^^^^^^^

Eagerly parse zero or more terminals.

| **Compilation flags:**
|    ``static``

| **Mode and number of proofs:**
|    ``zero_or_more`` - ``one``


------------

.. index:: one_or_more//0
.. _sequence_grammars/0::one_or_more//0:

``one_or_more//0``
^^^^^^^^^^^^^^^^^^

Eagerly parse one or more terminals.

| **Compilation flags:**
|    ``static``

| **Mode and number of proofs:**
|    ``one_or_more`` - ``zero_or_one``


------------

.. index:: without//2
.. _sequence_grammars/0::without//2:

``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)

