swirl
Guide to OmniMark 8   OmniMark home
docs home 
IndexConceptsTasksSyntaxLibrariesLegacy LibrariesErrors
 
  Related Syntax   Related Concepts  
control structure  

repeat scan

 
 

Syntax

repeat scan string-expression
   (match pattern condition?
      local-declaration*
      action*)+
again


Purpose

Scans a string-expression for specified patterns in the same manner as the do scan action. When a match is found, the corresponding actions are performed. However, the string is then scanned again, from the first character to the right of the part matched by the previous iteration.

This process continues until one of the following conditions has been met:

Note that an else phrase may not be used in a repeat scan action. If an "if all else fails" (if no other case applies) case is required, a match any alternative can be used with exit at the end to terminate the loop.

In repeat scan, patterns that can match zero characters are given special treatment. Zero characters cannot be matched successfully twice in a row. OmniMark enforces this by interpreting a match of zero characters as successful only if the previous iteration matched one or more characters.

    Related Syntax
   halt, halt-everything
   return
   do scan
 
Related Concepts
   Pattern matching
   Pattern matching functions
 
 

Top [ INDEX ] [ CONCEPTS ] [ TASKS ] [ SYNTAX ] [ LIBRARIES ] [ LEGACY LIBRARIES ] [ ERRORS ]

OmniMark 8.2.0 Documentation Generated: March 13, 2008 at 3:33:48 pm
If you have any comments about this section of the documentation, please use this form.

Copyright © Stilo International plc, 1988-2008.