タイトルおよびコピーライト情報 |
まえがき |
本書の対象読者 |
新しい機能と変更された機能 |
本書の構成 |
関連資料 |
本書で使用する表記法 |
1 | 正規表現と grep コマンドによる情報の検索 |
1.1 | 正規表現 |
1.1.1 | 基本正規表現 |
1.1.2 | 拡張正規表現 |
1.1.3 | 正規表現の繰り返しとの照合 |
1.1.4 | 選択した文字のみの照合 |
1.1.5 | 複数の正規表現の指定 |
1.1.6 | 正規表現における特別な照合 |
1.2 | grep コマンドの使用 |
2 | awk によるパターンの照合と情報の処理 |
2.1 | awk プログラムの実行 |
2.2 | awk における出力 |
2.3 | awk 変数の使用 |
2.3.1 | 単純変数 |
2.3.2 | フィールド変数 |
2.3.3 | 配列変数 |
2.3.4 | 組み込み awk 変数 |
2.4 | パターンとしての正規表現 |
2.5 | パターンとしての関係式および論理式 |
2.6 | パターン・レンジの使用 |
2.7 | awk のアクション |
2.8 | アクション内での演算子の使用 |
2.9 | アクション内での関数の使用 |
2.10 | awk プログラムでの制御構造の使用 |
2.11 | 入力の処理前および処理後に実行するアクション |
2.12 | 文字列の連結 |
2.13 | リダイレクションとパイプ |
3 | sed エディタによるファイルの編集 |
3.1 | sed エディタの概要 |
3.2 | sed エディタの実行 |
3.3 | 編集行の選択 |
3.4 | sed コマンドの要約 |
3.5 | 文字列の置換 |
4 | 入力言語解析プログラムおよびパーサの作成 |
4.1 | 字句解析プログラムの動作 |
4.2 | lex による字句解析プログラムの作成 |
4.3 | lex 仕様ファイル |
4.3.1 | 置換文字列の定義 |
4.3.2 | 規則 |
4.3.2.1 | 正規表現 |
4.3.2.2 | 照合規則 |
4.3.2.2.1 | 文字列を照合するためのワイルドカード文字の使用 |
4.3.2.2.2 | 文字列内の文字列の検索 |
4.3.2.3 | アクション |
4.3.2.3.1 | ヌル・アクション |
4.3.2.3.2 | 複数の式に対する同一アクションの使用 |
4.3.2.3.3 | 一致した文字列のプリント |
4.3.2.3.4 | 一致した文字列の長さの検出 |
4.3.2.3.5 | 入力の追加 |
4.3.2.3.6 | 入力へ文字を戻す |
4.3.3 | 標準の入出力ルーチンの使用または変更 |
4.3.4 | ファイルの終わりの処理 |
4.3.5 | 生成されたプログラムへのコードの引き渡し |
4.3.6 | 開始条件 |
4.4 | 字句解析プログラムの生成 |
4.5 | yacc と lex の併用 |
4.6 | yacc によるパーサの作成 |
4.6.1 | main および yyerror の関数 |
4.6.2 | yylex 関数 |
4.7 | 文法ファイル |
4.7.1 | 宣言 |
4.7.1.1 | グローバル変数の定義 |
4.7.1.2 | 開始記号 |
4.7.1.3 | トークン番号 |
4.7.2 | 文法規則 |
4.7.2.1 | 空文字列 |
4.7.2.2 | 入力の終わりマーカ |
4.7.2.3 | yacc パーサのアクション |
4.7.3 | プログラム |
4.7.4 | 文法ファイルの使用上のガイドライン |
4.7.4.1 | コメントの使用 |
4.7.4.2 | リテラル文字列の使用 |
4.7.4.3 | 文法ファイルのフォーマットに関するガイドライン |
4.7.4.4 | 文法ファイル中の再帰の使用 |
4.7.4.5 | 文法ファイルのエラー |
4.7.5 | パーサによるエラー処理 |
4.7.5.1 | エラーの訂正 |
4.7.5.2 | 先読みトークンの消去 |
4.8 | パーサの動作 |
4.8.1 | shift アクション |
4.8.2 | reduce アクション |
4.8.3 | あいまいな規則およびパーサの競合 |
4.9 | デバッグ・モードの使用 |
4.10 | 簡易計算機プログラムの作成 |
4.10.1 | パーサのソース・コード |
4.10.2 | 字句解析プログラムのソース・コード |
5 | プログラムにおける m4 マクロの使用 |
5.1 | マクロの使用 |
5.2 | マクロの定義 |
5.2.1 | 引用符の使用 |
5.2.2 | マクロ引数 |
5.3 | 他の m4 マクロの使用 |
5.3.1 | コメント文字の変更 |
5.3.2 | 引用符文字の変更 |
5.3.3 | マクロ定義の取り消し |
5.3.4 | 定義されたマクロのチェック |
5.3.5 | 整数演算の使用 |
5.3.6 | ファイルの操作 |
5.3.7 | 出力のリダイレクト |
5.3.8 | プログラムでのシステム・プログラムの使用 |
5.3.9 | 固有のファイル名の使用 |
5.3.10 | 条件式の使用 |
5.3.11 | 文字列操作 |
5.3.12 | 表示 |
6 | RCS や SCCS によるソース・ファイルの管理 |
6.1 | リビジョン制御の概要 |
6.2 | バージョン・コントロールの概念 |
6.3 | ファイルの複数バージョンの管理 |
6.4 | バージョン・コントロール・ライブラリの作成 |
6.5 | RCS の使用方法 |
6.5.1 | RCS ライブラリへの新しいファイルの配置 |
6.5.2 | RCS によるファイル識別情報の記録 |
6.5.3 | RCS ライブラリからのファイルの取り出し |
6.5.4 | 編集済みファイルの RCS ライブラリへのチェックイン |
6.5.5 | 複数バージョンを持つファイルの操作 |
6.5.6 | RCS ファイルの差異の表示 |
6.5.7 | RCS ファイルのリビジョン・ヒストリの報告 |
6.5.8 | 構成の制御の概念 |
6.6 | SCCS の使用方法 |
6.6.1 | SCCS ライブラリへの新しいファイルの配置 |
6.6.2 | SCCS によるファイル識別情報の記録 |
6.6.3 | SCCS ライブラリからのファイルの取り出し |
6.6.3.1 | 編集以外の目的でのファイルの取り出し |
6.6.3.2 | 編集のためのファイルの取り出し |
6.6.3.3 | 複数ファイルおよび新しいリリースの管理 |
6.6.4 | 編集済みファイルの SCCS ライブラリへのチェックイン |
6.6.5 | 複数バージョンを持つファイルの操作 |
6.6.6 | SCCS ファイルの差異の表示 |
6.6.7 | SCCS ファイルのリビジョン・ヒストリの報告 |
6.6.8 | 管理機能の実行 |
6.6.9 | SCCS オプションの使用 |
6.6.10 | 独立した SCCS コマンドの一覧 |
6.7 | RCS コマンドと SCCS コマンドの機能比較 |
7 | make ユーティリティによるプログラムのビルド |
7.1 | make ユーティリティの動作 |
7.2 | 記述ファイル |
7.2.1 | 記述ファイル・エントリの形式 |
7.2.2 | 記述ファイルでのコマンドの使用 |
7.2.3 | make ユーティリティのコマンド・エコーの防止 |
7.2.4 | make ユーティリティのエラーによる停止の防止 |
7.2.5 | 省略時の条件の定義 |
7.2.6 | make によるファイル削除の防止 |
7.2.7 | 簡単な記述ファイル |
7.2.8 | 記述ファイルの簡素化 |
7.2.9 | マクロの定義 |
7.2.10 | 記述ファイルでのマクロの使用 |
7.2.10.1 | マクロの置換 |
7.2.10.2 | 条件付きマクロ |
7.2.11 | 記述ファイルからの make ユーティリティの呼び出し |
7.2.12 | 内部マクロ |
7.2.12.1 | ターゲット・ファイル名内部マクロ |
7.2.12.2 | ラベル名内部マクロ |
7.2.12.3 | younger ファイル内部マクロ |
7.2.12.4 | 最初の旧ファイル内部マクロ |
7.2.12.5 | 現在のファイル名プレフィックスのための内部マクロ |
7.2.13 | make による環境変数の使用 |
7.2.14 | 内部規則 |
7.2.14.1 | 単一サフィックスの規則 |
7.2.14.2 | make の組み込みマクロの変更 |
7.2.15 | 他のファイルのインクルード |
7.2.16 | 記述ファイルのテスト |
7.2.17 | 記述ファイル |
用語集 |
例 |
4-1 | 計算機のパーサ・ソース・コード |
4-2 | 計算機の字句解析プログラム・ソース・コード |
7-1 | 記述ファイルの例 |
7-2 | 省略時の規則ファイル |
7-3 | make ユーティリティの makefile |
図 |
2-1 | awk 処理の順序 |
3-1 | sed 処理の順序 |
4-1 | 簡単な有限状態のモデル |
4-2 | lex および yacc による入力パーサの生成 |
6-1 | バージョン・コントロール・ファイルの内容 |
6-2 | 典型的な RCS ライブラリ |
6-3 | 典型的な SCCS ライブラリ |
6-4 | バージョン・コントロール・ファイルのツリー構造 |
表 |
1-1 | 基本正規表現の規則 |
1-2 | 拡張正規表現の規則 |
1-3 | grep コマンドの動作 |
1-4 | grep コマンドのオプション |
2-1 | awk コマンドのフラグ |
2-2 | awk の組み込み変数 |
2-3 | awk アクションの演算子 |
2-4 | 組み込み awk 算術関数 |
2-5 | 組み込み awk 文字列関数 |
2-6 | その他の組み込み awk 関数 |
2-7 | awk の制御構造 |
3-1 | sed コマンドのフラグ |
3-2 | sed で認識される正規表現 |
3-3 | テキスト編集および移動のコマンド |
3-4 | バッファ操作用コマンド |
3-5 | フロー制御のコマンド |
4-1 | lex の正規表現演算子 |
4-2 | lex コマンドのオプション |
4-3 | yacc の処理条件の定義キーワード |
5-1 | 組み込みの m4 マクロ |
6-1 | RCS と SCCS の機能 |
6-2 | RCS コマンド機能の要約 |
6-3 | RCS ID キーワード |
6-4 | sccs コマンド機能の要約 |
6-5 | SCCS ID キーワード |
6-6 | SCCS admin コマンドのオプション |
6-7 | admin コマンドのフラグ |
6-8 | SCCS コマンド・オプション |
6-9 | 独立した SCCS コマンド |
6-10 | 機能比較: RCS と SCCS コマンド |
7-1 | make の内部マクロ |
索引 |