@rule('<STR_LIT>')<EOL><INDENT>def visit_full_slice(self, _, children):<DEDENT>
return slice(children[<NUM_LIT:0>], children[<NUM_LIT:4>], children[<NUM_LIT:6>])<EOL>
The content of a slice (to be in brackets) with at least one colon.

        Arguments
        ---------
        _ (node) : parsimonious.nodes.Node.
        children : list
            - 0: an optional number to use as the ``start`` attribute of a ``slice`` object.
            - 1: for ``WS``, optional white space: ``None``
            - 2: for ``COL``, the colon character: ``None``
            - 3: for ``WS``, optional white space: ``None``
            - 4: an optional number to use as the ``stop`` attribute of a ``slice`` object.
            - 5: for ``WS``, optional white space: ``None``
            - 6: an optional number to use as the ``step`` attribute of a ``slice`` object,
                 got from the ``OPTIONAL_SLICE_STEP`` rule (which expects a colon and/or a number)

        Returns
        -------
        slice
            A ``slice`` object with ``start``, ``stop`` and ``step`` arguments set from children.

        Example
        -------

        >>> SliceParserMixin(':', default_rule='FULL_SLICE').data
        slice(None, None, None)
        >>> SliceParserMixin('::', default_rule='FULL_SLICE').data
        slice(None, None, None)
        >>> SliceParserMixin('1:', default_rule='FULL_SLICE').data
        slice(1, None, None)
        >>> SliceParserMixin(':2', default_rule='FULL_SLICE').data
        slice(None, 2, None)
        >>> SliceParserMixin('1:2', default_rule='FULL_SLICE').data
        slice(1, 2, None)
        >>> SliceParserMixin('::3', default_rule='FULL_SLICE').data
        slice(None, None, 3)
        >>> SliceParserMixin(':2:3', default_rule='FULL_SLICE').data
        slice(None, 2, 3)
        >>> SliceParserMixin('1::3', default_rule='FULL_SLICE').data
        slice(1, None, 3)
        >>> SliceParserMixin('1:2:3', default_rule='FULL_SLICE').data
        slice(1, 2, 3)