fparser.two.Fortran2008.block_construct_r807 ============================================ .. py:module:: fparser.two.Fortran2008.block_construct_r807 .. autoapi-nested-parse:: Module containing Fortran2008 Block_Construct rule R807 Classes ------- .. autoapisummary:: fparser.two.Fortran2008.block_construct_r807.Block_Construct Module Contents --------------- .. py:class:: Block_Construct(string, parent_cls=None) Bases: :py:obj:`fparser.two.utils.BlockBase` Fortran 2008 Rule 807. block-construct is block-stmt [ specification-part ] block end-block-stmt TODO #394: Should disallow COMMON, EQUIVALENCE, IMPLICIT, INTENT, NAMELIST, OPTIONAL, VALUE, and statement functions (C806) (which are all valid members of Specification_Part). .. py:attribute:: subclass_names :value: [] .. py:attribute:: use_names :value: ['Block_Stmt', 'Specification_Part', 'Execution_Part_Construct', 'End_Block_Stmt'] .. py:method:: match(reader) :staticmethod: Checks whether the content in reader matches the given type of block statement (e.g. DO..END DO, IF...END IF etc.) :param type startcls: the class marking the beginning of the block :param list subclasses: list of classes that can be children of the block. :param type endcls: the class marking the end of the block. :param reader: content to check for match. :type reader: str or instance of :py:class:`FortranReaderBase` :param bool match_labels: whether or not the statement terminating the block must have a label that matches the opening statement. Default is False. :param bool match_names: TBD :param tuple match_name_classes: TBD :param bool enable_do_label_construct_hook: TBD :param bool enable_if_construct_hook: TBD :param bool enable_where_construct_hook: TBD :param bool strict_order: whether to enforce the order of the given subclasses. :param bool strict_match_names: if start name present, end name must exist and match. :return: instance of startcls or None if no match is found :rtype: startcls