#!/usr/local/bin/perl $, = ' '; # set output field separator $\ = "\n"; # set output record separator @files = @ARGV; print <<'EOD'; PGPLOT Subroutine Descriptions

PGPLOT Subroutine Descriptions

Introduction

This appendix includes a list of all the PGPLOT subroutines, and then gives detailed instructions for the use of each routine in Fortran programs. The subroutine descriptions are in alphabetical order.

Arguments

The subroutine descriptions indicate the data type of each argument. When arguments are described as ``input'', they may be replaced with constants or expressions in the CALL statement, but make sure that the constant or expression has the correct data type.
INTEGER arguments:
these should be declared INTEGER or INTEGER*4 in the calling program, not INTEGER*2.
REAL arguments:
these should be declared REAL or REAL*4 in the calling program, not REAL*8 or DOUBLE PRECISION.
LOGICAL arguments:
these should be declared LOGICAL or LOGICAL*4 in the calling program.
CHARACTER arguments:
any valid Fortran CHARACTER variable may be used (declared CHARACTER*n for some integer n).

Index of Routines

Version 5.2

EOD # Extract documentation from pgplot source code: output index of routines print '

'; # Extract documentation from pgplot source code: output HTML code @ARGV = @files; while (<>) { s/\&/\&\;/g; s/\>/\>\;/g; s/\'; ($module, $rest) = split (' ', substr($_, 2), 2); print "

$module $rest

"; next; }; /^C\+/ && do { print '
' if $echo == 0;
    $echo = 1;
    print &Getline0();
    next;
  };

  /^C--/ && do
  {
    print '
' if $echo == 1; $echo = 0; next; }; next if ! $echo; /^C/ && do { # replace module names with links. when a module name is recognized, # it's replaced by a tag in the line to avoid multiple recognitions # (by modules which have similar substrings). the tags are replaced # by the actual links after all identifications have been made. # it'd be cheaper to have the tags be variables that could be # interpolated, but there's no guarantee that the rest of the text # wouldn't be adversely affected. thus, a set of replacements is # created and then eval'd $line = substr($_, 2); $reps = 0; $repstr = ''; foreach $module (@modules) { $start = index($line, $module); next if $start == -1; $tag = sprintf("REPLACE<%04d>", $reps); $line = join('', substr($line, 0, $start), $tag, substr($line, $start+length($module))); $repstr .= "\$line =~ s:$tag:$ref{$module}:;\n"; ++$reps; } eval $repstr if $repstr ne ''; print $line; next; }; print; } print <<'EOD';
EOD sub Getline0 { if ($getline_ok = (($_ = <>) ne '')) { chop; # strip record separator } $_; }