fparser.two.Fortran2008.proc_decl_r1214 ======================================= .. py:module:: fparser.two.Fortran2008.proc_decl_r1214 .. autoapi-nested-parse:: Module containing Fortran 2008 Proc_Decl rule R1214 Classes ------- .. autoapisummary:: fparser.two.Fortran2008.proc_decl_r1214.Proc_Decl Module Contents --------------- .. py:class:: Proc_Decl(string, parent_cls=None) Bases: :py:obj:`fparser.two.Fortran2003.Proc_Decl` Fortran 2008 rule R1214 proc-decl is procedure-entity-name [ => proc-pointer-init ] where (R1216) proc-pointer-init is either null-init or initial-proc-target, and (R1217) initial-proc-target is a procedure-name. The Fortran 2003 form of R1214 only accepts null-init on the right-hand side of ``=>``; this subclass extends it to also accept an initial-proc-target so that declarations such as:: procedure(cb), pointer, nopass :: eval => dummy parse under ``std='f2008'``. .. py:attribute:: subclass_names :value: ['Procedure_Entity_Name', 'Proc_Decl'] .. py:attribute:: use_names :value: ['Null_Init', 'Name'] .. py:method:: match(string: str) -> Optional[Tuple[fparser.two.Fortran2003.Procedure_Entity_Name, str, Union[fparser.two.Fortran2003.Null_Init, fparser.two.Fortran2003.Name]]] :staticmethod: Attempts to match the supplied text with this rule. Calls the Fortran 2003 match first (which handles the null-init branch); if that fails, tries the Fortran 2008 initial-proc-target branch where the right-hand side of ``=>`` is a procedure-name. :param string: Fortran code to check for a match. :returns: None if there is no match, otherwise a 3-tuple of (procedure-entity-name, ``"=>"``, proc-pointer-init).