File: oslib.tex

package info (click to toggle)
dcl 7.5.2-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 20,872 kB
  • sloc: fortran: 48,433; f90: 12,803; ansic: 6,513; makefile: 4,612; ruby: 184; sh: 153
file content (183 lines) | stat: -rw-r--r-- 5,929 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
%表題   MATH1下位数学基本処理ライブラリリファレンスマニュアル
%
%履歴
%\Drireki{
%         94/02/13 酒井敏
%         94/05/07 塩谷雅人
%        }
%
%  \Dchapter{OSLIB : システム依存ルーチン}
\Dchapterhead
\label{oslib}

\section{概要}

システムに依存するサブルーチンをまとめたパッケージ.
FORTRAN の規格外ではあるが
多くの処理系でサポートされていると思われる手続きの中で
よく使われそうなもののインターフェイス (サブルーチン名) を揃える
ことがこのパッケージの目的でである.
C で標準的にサポートされているルーチンは,
その規格に準拠している.
なお, このパッケージの中の手続きがサポートされないようなシステムでは,
ダミールーチンとしてもよいものも多い.
くわしくは, 以下の「サブルーチンの説明」を参照されたい. 
\vspace{1em}

MATH1 のパッケージの中でシステム依存関数を含むのは,
この OSLIB だけである.

\section{サブルーチンのリスト}

  \begin{tabular}{lp{10cm}}
    {\tt OSEXEC(CMD)} &
      OS コマンド {\tt CMD} を実行する. \\
    {\tt OSGENV(CENAME,CEVAL)} &
      環境変数{\tt CENAME} の値を {\tt CVAL} として得る. \\
    {\tt OSQARN(N)} &
      コマンドライン引数の数 {\tt N} を得る. \\
    {\tt OSGARG(N,CHAR)} &
      {\tt N} 番目のコマンドライン引数 {\tt CHAR} を得る. \\
    {\tt OSABRT} &
      エラー処理をおこなってプログラムを強制終了する.
  \end{tabular}

\section{サブルーチンの説明}

  \subsection{OSEXEC}
  \label{oslib.sub.osexec}

    \begin{enumerate}
      \item 機能
        \begin{quote}
          OS コマンドを実行する.
        \end{quote}
      \item 呼び出し方法
        \begin{quote}
          {\tt CALL OSEXEC(CMD)}
        \end{quote}
      \item パラメーターの説明
        \begin{quote}
          \begin{tabular}{llp{10cm}}
            {\tt CMD}      & {\tt (C*(*))} &
               コマンド名. \\
          \end{tabular}
        \end{quote}
      \item 備考
        \begin{enumerate}
          \item このサブルーチンに対応する ANSI C 関数は
		{\tt system} である.
        \end{enumerate}
    \end{enumerate}

  \subsection{OSGENV}
  \label{oslib.sub.osgenv}

    \begin{enumerate}
      \item 機能
        \begin{quote}
          環境変数の値を取得する.
        \end{quote}
      \item 呼び出し方法
        \begin{quote}
          {\tt CALL OSGENV(CENAME,CVAL)}
        \end{quote}
      \item パラメーターの説明
        \begin{quote}
          \begin{tabular}{llp{10cm}}
            {\tt CENAME}      & {\tt (C*(*))} &
               環境変数名. \\
            {\tt CVAL}      & {\tt (C*(*))} &
               環境変数の値.
          \end{tabular}
        \end{quote}
      \item 備考
        \begin{enumerate}
          \item このサブルーチンに対応する ANSI C 関数は
		{\tt getenv} である.
        \end{enumerate}
    \end{enumerate}

  \subsection{OSQARN}
  \label{oslib.sub.osqarn}

    \begin{enumerate}
      \item 機能
        \begin{quote}
          コマンドライン引数の数を返す.
        \end{quote}
      \item 呼び出し方法
        \begin{quote}
          {\tt CALL OSQARN(N)}
        \end{quote}
      \item パラメーターの説明
        \begin{quote}
          \begin{tabular}{llp{10cm}}
            {\tt N}      & {\tt (I)} &
               コマンドライン引数の数. \\
          \end{tabular}
        \end{quote}
      \item 備考
        \begin{enumerate}
	  \item コマンドライン引数が得られないシステムでは,
		0 が返される.
	  \item このサブルーチンに対応する ANSI C 関数はない.
	  \item HITACHIのFORTRANでは、コンパイルオプションで挙動が変わるので注意.
        \end{enumerate}
    \end{enumerate}

  \subsection{OSGARG}
  \label{oslib.sub.osgarg}

    \begin{enumerate}
      \item 機能
        \begin{quote}
          {\tt N} 番目のコマンドライン引数を返す. \\
        \end{quote}
      \item 呼び出し方法
        \begin{quote}
          {\tt CALL OSGARG(N,CHAR)}
        \end{quote}
      \item パラメーターの説明
        \begin{quote}
          \begin{tabular}{llp{10cm}}
            {\tt N}      & {\tt (I)} &
               コマンドライン引数の位置. \\
            {\tt CHAR}   & {\tt (C*(*))}    &
               {\tt N} 番目のコマンドライン引数. \\
          \end{tabular}
        \end{quote}
      \item 備考
        \begin{enumerate}
	  \item コマンドライン引数が得られないシステムでは,
		常に空白の文字列が返される.
          \item 0 番目のコマンドライン引数は, 通常コマンド名であるが,
		コマンド名が得られないシステムでは空白となる.
	  \item このサブルーチンに対応する ANSI C 関数はない.
	  \item HITACHIのFORTRANでは、コンパイルオプションで挙動が変わるので注意。
        \end{enumerate}
    \end{enumerate}

  \subsection{OSABRT}
  \label{oslib.sub.osabrt}

    \begin{enumerate}
      \item 機能
        \begin{quote}
          システムに依存したエラー処理をおこなって
          プログラムを強制終了する.
        \end{quote}
      \item 呼び出し方法
        \begin{quote}
          {\tt CALL OSABRT}
        \end{quote}
      \item パラメーターの説明
        \begin{quote}
		なし.
        \end{quote}
      \item 備考
        \begin{enumerate}
          \item たとえば, トレースバック情報などを出力して
            プログラムを強制終了するように実装される.
        \end{enumerate}
    \end{enumerate}