%表題   MISC1 (その他の基本処理下位パッケージ)
%
%履歴
%\Drireki{
%         90/03/22 塩谷雅人
%         91/09/05 林祥介
%         91/12/17 塩谷雅人
%         92/03/14 塩谷雅人
%         92/04/22 林祥介   (4.1版)
%         95/04/21 塩谷雅人
%        }
%
%  \Dchapter{CHKLIB : 文字種類の判別}
\Dchapterhead
\label{chklib}

\section{概要}
文字の種類を判別する論理型の関数パッケージ.
このパッケージが判別する文字の種類には次のものがある.
%(文字の種類についてはFORTRAN90公開時に再検討する予定. )
\begin{itemize}
  \item 空白 : ブランク(以下では$\triangle$であらわす).
  \item 通貨記号 : 処理系に依存するがたとえば{\tt \$}
    (以下の説明では{\tt \$}を用いる).
  \item 特殊文字 : 次の13文字からなる.
    $\triangle${\tt , ', (, ), *, +, ,, -, ., /, :, =, \$.}
  \item 英字 : 次の26文字からなる.
    {\tt A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W,
    X, Y, Z.}
  \item 数字 : 次の10文字からなる.
    {\tt 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.}
  \item 英数字 : 英字・数字からなる.
  \item FORTRAN文字 : 英字・数字・特殊文字からなる.
\end{itemize}

\section{関数のリスト}
({\tt C}は長さ1の文字型の引数)

\vspace{1em}
\begin{tabular}{lp{10cm}}
  {\tt LCHRB(C)} & 空白かどうかを判別する. \\
  {\tt LCHRC(C)} & 通貨記号かどうかを判別する. \\
  {\tt LCHRS(C)} & 特殊文字かどうかを判別する. \\
  {\tt LCHRL(C)} & 英字かどうかを判別する. \\
  {\tt LCHRD(C)} & 数字かどうかを判別する. \\
  {\tt LCHRA(C)} & 英数字かどうかを判別する. \\
  {\tt LCHRF(C)} & FORTRAN文字かどうかを判別する. \\
  {\tt LCHR(CHAR,CREF)} & {\tt CHAR}が{\tt CREF}で指定した文字種かどうかを
    判別する.
    {\tt CHAR}と{\tt CREF}の長さは等しくなければならない.
    {\tt CREF}で指定できるのは {\tt 'B'} : 空白, {\tt 'C'} : 通貨記号,
    {\tt 'S'} : 特殊文字, {\tt 'L'} : 英字, {\tt 'D'} : 数字,
    {\tt 'A'} : 英数字, {\tt 'F'} : FORTRAN 文字を組み合わせたものである.
\end{tabular}

\section{関数の説明}

\subsection{LCHRB/LCHRC/LCHRS/LCHRL/LCHRD/LCHRA/LCHRF}
\label{chklib.sub.lchrb}
\begin{enumerate}
  \item 機能
  \begin{quote}
    文字の種類を判別する.
  \end{quote}
  \item 呼び出し方法
  \begin{quote}
    {\tt LCHRB(C)}\\
    {\tt LCHRC(C)}\\
    {\tt LCHRS(C)}\\
    {\tt LCHRL(C)}\\
    {\tt LCHRD(C)}\\
    {\tt LCHRA(C)}\\
    {\tt LCHRF(C)}
  \end{quote}
  \item パラメーターの説明
  \begin{quote}
    \begin{tabular}{llp{10cm}}
      {\tt C}     & {\tt (C*1)} & 文字種類を調べる長さ1の文字型の引数.\\
      {\tt LCHRB} & {\tt (L)}   & {\tt C} が空白なら {\tt .TRUE.},
         そうでなければ{\tt .FALSE.}を返す論理型関数値.\\
      {\tt LCHRC} & {\tt (L)}   & {\tt C} が通貨記号なら {\tt .TRUE.},
         そうでなければ{\tt .FALSE.}を返す論理型関数値.\\
      {\tt LCHRS} & {\tt (L)}   & {\tt C} が特殊文字なら {\tt .TRUE.},
         そうでなければ{\tt .FALSE.}を返す論理型関数値.\\
      {\tt LCHRL} & {\tt (L)}   & {\tt C} が英字なら {\tt .TRUE.},
         そうでなければ{\tt .FALSE.}を返す論理型関数値.\\
      {\tt LCHRD} & {\tt (L)}   & {\tt C} が数字なら {\tt .TRUE.},
         そうでなければ{\tt .FALSE.}を返す論理型関数値.\\
      {\tt LCHRA} & {\tt (L)}   & {\tt C} が英数字なら {\tt .TRUE.},
         そうでなければ{\tt .FALSE.}を返す論理型関数値.\\
      {\tt LCHRF} & {\tt (L)}   & {\tt C} がFORTRAN文字なら {\tt .TRUE.},
         そうでなければ{\tt .FALSE.}を返す論理型関数値.
    \end{tabular}
  \end{quote}
  \item 備考
  \begin{enumerate}
    \item なし
  \end{enumerate}
\end{enumerate}

\subsection{LCHR}
\label{chklib.sub.lchr}
\begin{enumerate}
  \item 機能
  \begin{quote}
    文字列の種類を判別する.
    調べる文字列の種類は, テンプレートとして別の文字列で与える.
  \end{quote}
  \item 呼び出し方法
  \begin{quote}
    {\tt LCHR(CHAR,CREF)}
  \end{quote}
  \item パラメーターの説明
  \begin{quote}
    \begin{tabular}{llp{10cm}}
      {\tt CHAR} & {\tt (C*(*))} & 文字種類を調べる文字列.\\
      {\tt CREF} & {\tt (C*(*))} & 文字列の種類を与えるテンプレート文字列.
         {\tt 'B'} : 空白, {\tt 'C'} : 通貨記号,
         {\tt 'S'} : 特殊文字, {\tt 'L'} : 英字, {\tt 'D'} : 数字,
         {\tt 'A'} : 英数字, {\tt 'F'} : FORTRAN 文字を
         組み合わせたもので表現する. \\
      {\tt LCHR} & {\tt (L)}   & {\tt CHAR}が{\tt CREF}で指定した
         文字種と一致していれば{\tt .TRUE.}, そうでなければ
         {\tt .FALSE.}を返す論理型関数値.
    \end{tabular}
  \end{quote}
  \item 備考
  \begin{enumerate}
    \item {\tt CHAR}と{\tt CREF}の長さは等しくなければならない.
  \end{enumerate}
\end{enumerate}

