Ejemplo n.º 1
0
    def parse(self, loc, l, parent, keyword):

        arguments = []

        # Parse positional arguments.
        for _i in range(self.positional):
            expr = l.require(l.simple_expression)
            arguments.append((None, expr))

        # Parser keyword arguments and children.
        block = slast.SLBlock(loc)
        can_has = (self.nchildren == 1)
        self.parse_contents(l, block, can_has=can_has, can_tag=False)

        # Add the keyword arguments, and create an ArgumentInfo object.
        arguments.extend(block.keyword)
        block.keyword = []

        args = renpy.ast.ArgumentInfo(arguments, None, None)

        # We only need a SLBlock if we have children.
        if not block.children:
            block = None

        # Create the Use statement.
        return slast.SLUse(loc, self.screen, args, None, block)
Ejemplo n.º 2
0
    def parse(self, loc, l, parent, keyword):

        if l.keyword('expression'):
            target = l.require(l.simple_expression)
            l.keyword('pass')
        else:
            target = l.require(l.word)

        args = renpy.parser.parse_arguments(l)

        if l.keyword('id'):
            id_expr = l.simple_expression()
        else:
            id_expr = None

        if l.match(':'):
            l.expect_eol()
            l.expect_block("use statement")

            block = slast.SLBlock(loc)
            self.parse_contents(l, block, can_has=True, block_only=True)

        else:
            l.expect_eol()
            l.expect_noblock("use statement")

            block = None

        return slast.SLUse(loc, target, args, id_expr, block)
Ejemplo n.º 3
0
    def parse(self, loc, l, name):

        target = l.require(l.word)
        args = renpy.parser.parse_arguments(l)

        l.expect_eol()
        l.expect_noblock("use statement")

        return slast.SLUse(loc, target, args)
Ejemplo n.º 4
0
    def parse(self, loc, l, parent):

        target = l.require(l.word)
        args = renpy.parser.parse_arguments(l)

        if l.keyword('id'):
            id_expr = l.simple_expression()
        else:
            id_expr = None

        l.expect_eol()
        l.expect_noblock("use statement")

        return slast.SLUse(loc, target, args, id_expr)