示例#1
0
    def create_post_timedelta_literal(tok):
        """Detects <plus/minus> <number> <timescale>"""
        delta = Or([CaselessLiteral(t)
                    for t in ['+', '-', 'plus', 'minus']]) + originalTextFor(
                        Or([
                            Word(nums) + ZeroOrMore(',' + Word(nums + ',')) +
                            ZeroOrMore('.' + Word(nums)),
                            CaselessLiteral('an'),
                            CaselessLiteral('a')
                        ])) + CaselessLiteral(tok) + StringEnd()

        delta.setName('post' + tok).\
            setParseAction(DateParser.generate_post_timedelta)

        return delta
示例#2
0
文件: date.py 项目: msabramo/cahoots
    def create_post_timedelta_literal(tok):
        """Detects <plus/minus> <number> <timescale>"""
        delta = Or(
            [CaselessLiteral(t) for t in ['+', '-', 'plus', 'minus']]
        ) + originalTextFor(Or([
            Word(nums) +
            ZeroOrMore(',' + Word(nums+',')) +
            ZeroOrMore('.' + Word(nums)),
            CaselessLiteral('an'),
            CaselessLiteral('a')
        ])) + CaselessLiteral(tok) + StringEnd()

        delta.setName('post' + tok).\
            setParseAction(DateParser.generate_post_timedelta)

        return delta
示例#3
0
    def create_post_timedelta_literal(tok):
        """
        Detects <plus/minus> <number> <timescale>

        :param tok: the token we want to produce a detector for
        :type tok: str
        :return: the caseless literal
        :rtype: pyparsing.Or
        """
        delta = Or(
            [CaselessLiteral(t) for t in ['+', '-', 'plus', 'minus']]
        ) + originalTextFor(Or([
            Word(nums) +
            ZeroOrMore(',' + Word(nums+',')) +
            ZeroOrMore('.' + Word(nums)),
            CaselessLiteral('an'),
            CaselessLiteral('a')
        ])) + CaselessLiteral(tok) + StringEnd()

        delta.setName('post' + tok).\
            setParseAction(DateParser.generate_post_timedelta)

        return delta
示例#4
0
文件: array.py 项目: slorg1/contracts
def np_int(s, loc, tokens):
    return np_composite('int', np_int_dtypes)


def np_float(s, loc, tokens):
    return np_composite('float', np_float_dtypes)


dtype_checks.append(Keyword('int').setParseAction(np_int))
dtype_checks.append(Keyword('uint').setParseAction(np_uint))
dtype_checks.append(Keyword('float').setParseAction(np_float))

composite = ['int', 'uint', 'float']

ndarray_simple_contract = Or(dtype_checks + array_constraints)
ndarray_simple_contract.setName('numpy element contract')

suggester = create_suggester(get_options=lambda: atomic + composite)
baseExpr = ndarray_simple_contract | suggester
baseExpr.setName('numpy contract (with recovery)')

op = myOperatorPrecedence
# op = operatorPrecedence
ndarray_composite_contract = op(baseExpr, [
    (',', 2, opAssoc.LEFT, ArrayAnd.parse_action),
    ('|', 2, opAssoc.LEFT, ArrayOR.parse_action),
])


def my_delim_list2(what, delim):
    return (what + ZeroOrMore(S(delim) + FollowedBy(NotAny(ellipsis)) - what))
示例#5
0
    return np_composite('uint', np_uint_dtypes)
 
def np_int(s, loc, tokens):
    return np_composite('int', np_int_dtypes)

def np_float(s, loc, tokens):
    return np_composite('float', np_float_dtypes)

dtype_checks.append(Keyword('int').setParseAction(np_int))
dtype_checks.append(Keyword('uint').setParseAction(np_uint))
dtype_checks.append(Keyword('float').setParseAction(np_float))

composite = ['int', 'uint', 'float']

ndarray_simple_contract = Or(dtype_checks + array_constraints)
ndarray_simple_contract.setName('numpy element contract')

suggester = create_suggester(get_options=lambda: atomic + composite)
baseExpr = ndarray_simple_contract | suggester
baseExpr.setName('numpy contract (with recovery)')

op = myOperatorPrecedence
# op = operatorPrecedence
ndarray_composite_contract = op(baseExpr, [
    (',', 2, opAssoc.LEFT, ArrayAnd.parse_action),
    ('|', 2, opAssoc.LEFT, ArrayOR.parse_action),
])


def my_delim_list2(what, delim):
    return (what + ZeroOrMore(S(delim) + FollowedBy(NotAny(ellipsis)) - what))