A.13 library(dcg/high_order): High order grammar operations
AllApplicationManualNameSummaryHelp

  • 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)).
Source[nondet]sequence(:Element, ?List)//
Match or generate a sequence of Element. This predicate is deterministic if List is fully instantiated and Element is deterministic. When parsing, this predicate is gready and does not prune choice points. For example:
?- phrase(sequence(digit, Digits), `123a`, L).
Digits = "123",
L = [97] ;
Digits = [49, 50],
L = [51, 97] ;
...