PalmNeko / pipex

42 pipex
0 stars 0 forks source link

Specification #2

Closed PalmNeko closed 3 months ago

PalmNeko commented 4 months ago

documents: pipex

PalmNeko commented 4 months ago

概要

入力ファイルと引数を含むプログラムを複数受け取り、各プログラムの標準入力と標準出力をつなげ、処理された結果を出力ファイルに出力する。

目的

このプロジェクトを通し、学習を行うこと。子プロセスの生成、execveの使用と理解などなど。

引数

引数のフォーマットをBNF記法で記載する。各定義の説明は以下で行う。

<arguments> ::= <infile> <executions> <outfile>
<executions> ::= <here_doc> | <cmd> <space> <cmds>
<here_doc> ::= "here_doc" <space> <delimiter> 
<cmds> ::= <cmd> | <cmd> <space> <cmds>
<cmd> ::= <exec>
<arguments>:引数
<executions>:入力から出力可能なもの。
<here_doc>:ユーザ入力を受け取ってそれを出力として扱うもの。
<cmds>:1,もしくは連続したコマンド列。
<cmd>:実行可能なコマンド。
<infile> : 入力ファイル
<outfile> : 出力ファイル
<space> : 空白(複数あり)(引数が区切られている。)
<delimiter>:here_docの区切り文字
<exec>:実行可能な文字列。

開発制限

使用可能関数

subject 参照

使用可能ライブラリ

subject 参照

コンパイル

Makefileを使ってコンパイルすること。

セキュリティ