search_dir(dir){
// dir以下のフォルダを検索する
　　file_list = empty;
　　recursive = 2;
　　tfiles = empty; // 処理すべきファイルのリスト

recursive_loop:
　　if recursive < 0 goto recursive_next;

　　getfiles(dir,files); // filesにファイルリスト（full path）取得
　　foreach file of files {
　　　　file{recursive} = recursive;　// perlの連想記憶ね
　　　　// 再帰レベルをファイルリストの各ファイル属性として書き込んでしまう！
　　}

　　addtfile(tfiles,files); // それらを処理すべきリスト表に登録！

recursive_next:
　　while (tfile = shift tfiles) { // tfilesが存在する間ループする。
　　// shiftにより、tfilesの先頭の要素が切り出されてtfileに入る。（cf.Perl）

　　　　if (tfile == directory) {
　　　　　　recursive = tfile{recursive} - 1;
　　　　　　dir = tfile;
　　　　　　goto recursive_loop;
　　　　}
　　　　if (tfile == bmsfile) addlist(filelist,tfile);
　　}
}

