( expr )
return ( Word(nums).setName("arrayLen").setParseAction(countFieldParseAction, callDuringTry=True) + arrayExpr )
Helper to define a counted list of expressions.
       This helper defines a pattern of the form::
           integer expr expr expr...
       where the leading integer tells how many expr expressions follow.
       The matched tokens returns the array of expr tokens as a list - the leading count token is suppressed.
Helper to define a counted list of expressions.
       This helper defines a pattern of the form::
           integer expr expr expr...
       where the leading integer tells how many expr expressions follow.
       The matched tokens returns the array of expr tokens as a list - the leading count token is suppressed.
Helper to define a counted list of expressions . This helper defines a pattern of the form :: integer expr expr expr ... where the leading integer tells how many expr expressions follow . The matched tokens returns the array of expr tokens as a list - the leading count token is suppressed .
def countedArray( expr ):
    """Helper to define a counted list of expressions.
       This helper defines a pattern of the form::
           integer expr expr expr...
       where the leading integer tells how many expr expressions follow.
       The matched tokens returns the array of expr tokens as a list - the leading count token is suppressed.
    """
    arrayExpr = Forward()
    def countFieldParseAction(s,l,t):
        n = int(t[0])
        arrayExpr << (n and Group(And([expr]*n)) or Group(empty))
        return []
    return ( Word(nums).setName("arrayLen").setParseAction(countFieldParseAction, callDuringTry=True) + arrayExpr )
def countedArray ( expr ) : arrayExpr = Forward ( ) def countFieldParseAction ( s , l , t ) : n = int ( t [ 0 ] ) arrayExpr << ( n and Group ( And ( [ expr ] * n ) ) or Group ( empty ) ) return [ ] return ( Word ( nums ) . setName ( "arrayLen" ) . setParseAction ( countFieldParseAction , callDuringTry = True ) + arrayExpr )