<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def visit_literal_block(self, node):
 """Check syntax of code block."""

        # For "..code-block:: language"
        language = node.get('language', None)
        is_code_node = False
        if not language:
            # For "..code:: language"
            is_code_node = True
            classes = node.get('classes')
            if 'code' in classes:
                language = classes[-1]
            else:
                return

        if language in self.ignore['languages']:
            return

        if language == 'doctest' or (
                language == 'python' and
                node.rawsource.lstrip().startswith('>>> ')):
            self.visit_doctest_block(node)
            raise docutils.nodes.SkipNode

        checker = {
            'bash': bash_checker,
            'c': c_checker,
            'cpp': cpp_checker,
            'json': lambda source, _: lambda: check_json(source),
            'xml': lambda source, _: lambda: check_xml(source),
            'python': lambda source, _: lambda: check_python(source),
            'rst': lambda source, _: lambda: check_rst(source,
                                                       ignore=self.ignore)
        }.get(language)

        if checker:
            run = checker(node.rawsource, self.working_directory)
            self._add_check(node=node,
                            run=run,
                            language=language,
                            is_code_node=is_code_node)

        raise docutils.nodes.SkipNode