Sophie

Sophie

distrib > Mandriva > 2011.0 > x86_64 > by-pkgid > f13f137693327172bf7ba9b443ff3a61 > files > 355

gcc-gfortran-4.6.1-2.x86_64.rpm

<html lang="en">
<head>
<title>Variable FORMAT expressions - The GNU Fortran Compiler</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="The GNU Fortran Compiler">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Extensions-not-implemented-in-GNU-Fortran.html#Extensions-not-implemented-in-GNU-Fortran" title="Extensions not implemented in GNU Fortran">
<link rel="prev" href="ENCODE-and-DECODE-statements.html#ENCODE-and-DECODE-statements" title="ENCODE and DECODE statements">
<link rel="next" href="Alternate-complex-function-syntax.html#Alternate-complex-function-syntax" title="Alternate complex function syntax">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Funding Free Software'', the Front-Cover
Texts being (a) (see below), and with the Back-Cover Texts being (b)
(see below).  A copy of the license is included in the section entitled
``GNU Free Documentation License''.

(a) The FSF's Front-Cover Text is:

     A GNU Manual

(b) The FSF's Back-Cover Text is:

     You have freedom to copy and modify this GNU Manual, like GNU
     software.  Copies published by the Free Software Foundation raise
     funds for GNU development.-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
</head>
<body>
<div class="node">
<a name="Variable-FORMAT-expressions"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Alternate-complex-function-syntax.html#Alternate-complex-function-syntax">Alternate complex function syntax</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="ENCODE-and-DECODE-statements.html#ENCODE-and-DECODE-statements">ENCODE and DECODE statements</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Extensions-not-implemented-in-GNU-Fortran.html#Extensions-not-implemented-in-GNU-Fortran">Extensions not implemented in GNU Fortran</a>
<hr>
</div>

<h4 class="subsection">6.2.3 Variable <code>FORMAT</code> expressions</h4>

<p><a name="index-g_t_0040code_007bFORMAT_007d-329"></a>
A variable <code>FORMAT</code> expression is format statement which includes
angle brackets enclosing a Fortran expression: <code>FORMAT(I&lt;N&gt;)</code>.  GNU
Fortran does not support this legacy extension.  The effect of variable
format expressions can be reproduced by using the more powerful (and
standard) combination of internal output and string formats.  For example,
replace a code fragment like this:

<pre class="smallexample">           WRITE(6,20) INT1
      20   FORMAT(I&lt;N+1&gt;)
</pre>
   <p class="noindent">with the following:

<pre class="smallexample">     c     Variable declaration
           CHARACTER(LEN=20) FMT
     c
     c     Other code here...
     c
           WRITE(FMT,'("(I", I0, ")")') N+1
           WRITE(6,FMT) INT1
</pre>
   <p class="noindent">or with:

<pre class="smallexample">     c     Variable declaration
           CHARACTER(LEN=20) FMT
     c
     c     Other code here...
     c
           WRITE(FMT,*) N+1
           WRITE(6,"(I" // ADJUSTL(FMT) // ")") INT1
</pre>
   </body></html>