今はパース部だけ深掘る。実行部はあとで。
shell.c/main
main/init_ 初期化とか
main/set_ 初期化とか
main/reader_loop 入力を受け取るメインの処理
reader_loop/signal_ シグナルハンドラの設定
reader_loop/read_command
read_command/set_current_prompt_level PS1かPS2かを決める
read_command/parse_command
parse_command/yyparse
yyparse/yylex トークン種別を返す
yylex/read_token 一文字ずつみてトークン種別を判定。
read_token/shell_getc バッファから一文字取ってくる
shell_getc/print_prompt プロンプトをsrderrに表示
shell_getc/yy_getc 入力から一文字受け取る
read_token/shell_ungetc バッファに一文字戻す
read_token/read_token_word トークンの種類を取得する