fparser Reference Guide  0.0.14
fparser.two.Fortran2003.Comment Class Reference
Inheritance diagram for fparser.two.Fortran2003.Comment:
Collaboration diagram for fparser.two.Fortran2003.Comment:

Public Member Functions

def __new__ (cls, string, parent_cls=None)
 
def init (self, comment)
 
def tostr (self)
 
def restore_reader (self, reader)
 

Public Attributes

 items
 
 item
 

Static Public Attributes

 subclass_names
 

Detailed Description

Represents a Fortran Comment.

Definition at line 120 of file Fortran2003.py.

Member Function Documentation

◆ __new__()

def fparser.two.Fortran2003.Comment.__new__ (   cls,
  string,
  parent_cls = None 
)
Create a new Comment instance.

:param type cls: the class of object to create.
:param string: (source of) Fortran string to parse.
:type string: str or :py:class:`FortranReaderBase`
:param parent_cls: the parent class of this object.
:type parent_cls: :py:type:`type`

Definition at line 128 of file Fortran2003.py.

128  def __new__(cls, string, parent_cls=None):
129  """
130  Create a new Comment instance.
131 
132  :param type cls: the class of object to create.
133  :param string: (source of) Fortran string to parse.
134  :type string: str or :py:class:`FortranReaderBase`
135  :param parent_cls: the parent class of this object.
136  :type parent_cls: :py:type:`type`
137 
138  """
139  from fparser.common import readfortran
140 
141  if isinstance(string, readfortran.Comment):
142  # We were after a comment and we got a comment. Construct
143  # one manually to avoid recursively calling this __new__
144  # method again...
145  obj = object.__new__(cls)
146  obj.init(string)
147  return obj
148  elif isinstance(string, FortranReaderBase):
149  reader = string
150  item = reader.get_item()
151  if item is None:
152  return
153  if isinstance(item, readfortran.Comment):
154  # This effectively recursively calls this routine
155  return Comment(item)
156  else:
157  # We didn't get a comment so put the item back in the FIFO
158  reader.put_item(item)
159  return
160  else:
161  # We didn't get a comment
162  return
163 

◆ init()

def fparser.two.Fortran2003.Comment.init (   self,
  comment 
)
Initialise this Comment

:param  comment: The comment object produced by the reader
:type comment: :py:class:`readfortran.Comment`

Definition at line 164 of file Fortran2003.py.

References fparser.two.Fortran2003.Comment.item, fparser.common.base_classes.Statement.item, fparser.two.Fortran2003.Comment.items, fparser.one.statements.StatementWithNamelist.items, fparser.one.statements.Assign.items, fparser.one.statements.Call.items, fparser.one.statements.ComputedGoto.items, fparser.one.statements.AssignedGoto.items, fparser.one.statements.Print.items, fparser.one.statements.Read0.items, fparser.one.statements.Read1.items, fparser.one.typedecl_statements.Implicit.items, fparser.one.statements.Write.items, fparser.one.statements.Allocate.items, fparser.one.statements.Deallocate.items, fparser.one.statements.ModuleProcedure.items, fparser.one.statements.Access.items, fparser.one.statements.Save.items, fparser.one.statements.Nullify.items, fparser.one.statements.Use.items, fparser.one.statements.Parameter.items, fparser.one.statements.Equivalence.items, fparser.one.statements.Dimension.items, fparser.one.statements.Target.items, fparser.one.statements.Pointer.items, fparser.one.statements.Inquire.items, fparser.one.statements.Namelist.items, fparser.one.statements.Common.items, fparser.one.statements.Intent.items, fparser.one.statements.Entry.items, fparser.one.statements.GenericBinding.items, fparser.one.statements.Allocatable.items, fparser.one.statements.Bind.items, fparser.one.statements.Case.items, fparser.one.statements.TypeIs.items, fparser.one.statements.ClassIs.items, fparser.one.statements.Enumerator.items, and fparser.one.statements.Depend.items.

164  def init(self, comment):
165  """
166  Initialise this Comment
167 
168  :param comment: The comment object produced by the reader
169  :type comment: :py:class:`readfortran.Comment`
170  """
171  self.items = [comment.comment]
172  self.item = comment
173 

◆ restore_reader()

def fparser.two.Fortran2003.Comment.restore_reader (   self,
  reader 
)
Undo the read of this comment by putting its content back
into the reader (which has a FIFO buffer)

:param reader: the reader instance to return the comment to
:type reader: :py:class:`fparser.readfortran.FortranReaderBase`

Definition at line 181 of file Fortran2003.py.

References fparser.two.Fortran2003.Comment.item, and fparser.common.base_classes.Statement.item.

181  def restore_reader(self, reader):
182  """
183  Undo the read of this comment by putting its content back
184  into the reader (which has a FIFO buffer)
185 
186  :param reader: the reader instance to return the comment to
187  :type reader: :py:class:`fparser.readfortran.FortranReaderBase`
188  """
189  reader.put_item(self.item)
190 
191 

◆ tostr()

def fparser.two.Fortran2003.Comment.tostr (   self)
:returns: this comment as a string.
:rtype: :py:class:`str`

Definition at line 174 of file Fortran2003.py.

References fparser.two.Fortran2003.Comment.items, fparser.one.statements.StatementWithNamelist.items, fparser.one.statements.Assign.items, fparser.one.statements.Call.items, fparser.one.statements.ComputedGoto.items, fparser.one.statements.AssignedGoto.items, fparser.one.statements.Print.items, fparser.one.statements.Read0.items, fparser.one.statements.Read1.items, fparser.one.typedecl_statements.Implicit.items, fparser.one.statements.Write.items, fparser.one.statements.Allocate.items, fparser.one.statements.Deallocate.items, fparser.one.statements.ModuleProcedure.items, fparser.one.statements.Access.items, fparser.one.statements.Save.items, fparser.one.statements.Nullify.items, fparser.one.statements.Use.items, fparser.one.statements.Parameter.items, fparser.one.statements.Equivalence.items, fparser.one.statements.Dimension.items, fparser.one.statements.Target.items, fparser.one.statements.Pointer.items, fparser.one.statements.Inquire.items, fparser.one.statements.Namelist.items, fparser.one.statements.Common.items, fparser.one.statements.Intent.items, fparser.one.statements.Entry.items, fparser.one.statements.GenericBinding.items, fparser.one.statements.Allocatable.items, fparser.one.statements.Bind.items, fparser.one.statements.Case.items, fparser.one.statements.TypeIs.items, fparser.one.statements.ClassIs.items, fparser.one.statements.Enumerator.items, and fparser.one.statements.Depend.items.

174  def tostr(self):
175  """
176  :returns: this comment as a string.
177  :rtype: :py:class:`str`
178  """
179  return str(self.items[0])
180 
Here is the caller graph for this function:

The documentation for this class was generated from the following file: