Did you know ...
Search Documentation:
Grammar rule sequence//3
HOME
DOWNLOAD
SWI-Prolog
Sources/building
Docker images
Add-ons
Browse GIT
DOCUMENTATION
Manual
Packages
FAQ
Command line
PlDoc
Bluffers
▶
Prolog syntax
PceEmacs
HTML generation
License
Publications
Rev 7 Extensions
TUTORIALS
Beginner
▶
Getting started
Learn Prolog Now!
Simply Logical
Debugger
Development tools
Advanced
▶
Modules
Grammars (DCGs)
clp(fd)
Printing messages
PlDoc
Web applications
▶
Web applications
Let's Encrypt!
Pengines
Semantic web
▶
ClioPatria
RDF namespaces
Graphics
▶
XPCE
GUI options
Machine learning
▶
Probabilistic Logic Programming
External collections
▶
Meta level tutorials
For packagers
▶
Linux packages
COMMUNITY
Forum & mailing list
Blog
News
Report a bug
Submit a patch
Submit an add-on
Roadmap (on GitHub)
External links
Contributing
Code of Conduct
Contributors
SWI-Prolog items
COMMERCIAL
WIKI
Login
View changes
Sandbox
Wiki help
All tags
Documentation
Reference manual
The SWI-Prolog library
library(dcg/high_order): High order grammar operations
sequence//2
sequence//3
sequence//5
optional//2
foreach//2
foreach//3
Packages
Availability:
:- use_module(
library(dcg/high_order)
).
[nondet]
sequence
(
:Element, :Sep, ?List
)
//
Match or generate a sequence of
Element
where each pair of elements is separated by
Sep
. When
parsing
, a matched
Sep
commits
. The final element is
not
committed. More formally, it matches the following sequence:
(Element, (Sep,Element)*)?
See also
sequence//5
.