Extracts a paragraph node

    :param l: The line number (starting from 0)
    :param last_div_node: The last div node found
    :param last_section_node: The last section node found
    :param line: The line string (without indentation)
    :return: The extracted paragraph node

def parse_paragraph(l, c, last_div_node, last_section_node, line):
    """
    Extracts a paragraph node

    :param l: The line number (starting from 0)
    :param last_div_node: The last div node found
    :param last_section_node: The last section node found
    :param line: The line string (without indentation)
    :return: The extracted paragraph node
    """
    if not line.endswith('.'):
        return None
    name = line.replace(".", "")
    if name.strip() == '':
        return None
    if name.upper() in ALL_KEYWORDS:
        return None
    parent_node = last_div_node
    if last_section_node is not None:
        parent_node = last_section_node
    node = Name(Name.Type.Paragraph, l, c, name)
    parent_node.add_child(node)
    return node