locate balanced characters
Description
i3, i4, ..., in bal(c1, c2, c3, s, i1, i2)
bal(c1, c2, c3, s, i1, i2) generates the sequence of integer positions in s preceding a character of c1 in s[i1:i2] that is balanced with respect to characters in c2 and c3, but fails if there is no such position.
Parameters
- c1
- character set characters to search for between c2 and c3
- c2
- character set starting character to be balanced with c3
- c3
- character set ending character to be balanced with c2
- s
- the string to search
- i1
- the starting position in s
- i2
- the end position in s
- returns
- a sequence of integer positions in s
Defaults
- c1
- &cset
- c2
- '('
- c3
- ')'
- s
- &subject
- i1
- &pos if s is defaulted, otherwise 1
- i2
- 0
Errors
101 |
i1 or i2 is not an integer |
103 |
s is not a string |
104 |
c1, c2, or c3 is not a cset |
See Also
- find — find string
- upto — locate characters