【事件の表示】
　特願２０００−３３２１１０「コンパイル方法および記録媒体」拒絶査定不服審判事件〔平成１４年　３月２２日出願公開、特開２００２−　８２８１１〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
第１．手続の経緯  
　本願は、特許法第４１条に基づく優先権主張を伴う平成１２年１０月２５日（優先日、平成１２年６月２８日）の出願であって、平成１８年７月４日付けで拒絶理由通知がなされ、同年９月１１日付けで手続補正がなされ、同年１０月３日付けで最後の拒絶理由通知がなされ、同年１２月１１日付けで手続補正がなされたが、平成１９年２月２日付けで前記平成１８年１２月１１日付け手続補正を補正却下するとともに、拒絶査定がなされ、これに対し、同年３月８日に審判請求がなされるとともに、同年４月６日付けで手続補正がなされたものである。そして、平成１９年４月２６日付けで審査官から前置報告がなされ、平成２１年３月１３日付けで当審より審尋がなされ、同年５月１３日付けで回答書が提出されたものである。
　  
第２．補正却下の決定
［補正却下の決定の結論］
　平成１９年４月６日付けの手続補正を却下する。
　
［理由］
１．補正の内容
　平成１９年４月６日付けの手続補正（以下、「本件補正」という。）の内容は、平成１８年９月１１日付けの手続補正により補正された特許請求の範囲の記載
「【請求項１】
　複数の手続を有するソースプログラムを記憶するための記憶手段を備え、前記ソースプログラムから目的プログラムを生成して前記記憶手段に記憶するコンパイル装置におけるコンパイル方法において、
　前記ソースプログラムの各手続を前記記憶装置から読み出してソースプログラムコンパイル単位としてコンパイルすることにより、前記ソースプログラムコンパイル単位のそれぞれに対応する目的プログラムコンパイル単位を生成し、
　各前記生成した目的プログラムコンパイル単位と各前記ソースプログラムコンパイル単位とをそれぞれ対応付けて前記目的プログラム内に格納して前記記憶手段に記憶し、
　前記生成した目的プログラムコンパイル単位と前記ソースプログラムコンパイル単位とに加えて、前記ソースプログラムの構文を解析した解析情報を前記目的プログラム内に格納して前記記憶手段に記憶し、
　前記ソースプログラムが変更された後に、前記ソースプログラムの構文を解析し、前記構文を解析した結果得られた解析情報を前記記憶手段から読み出して前記目的プログラムに格納されている前記解析情報と比較し、該比較の結果一致しない場合は、前記変更後のソースプログラムを構成する新たな複数のソースプログラムコンパイル単位を生成し、
　前記目的プログラム内に格納されている前記複数のソースプログラムを前記記憶手段から読み出して、前記変更後のソースプログラムを構成する前記複数のソースプログラムコンパイル単位に更新するとともに、前記目的プログラム内に格納されている前記複数の目的プログラムコンパイル単位を前記新たな複数の目的プログラムコンパイル単位に更新し、前記目的プログラム内に格納されている前記解析情報を前記得られた解析情報に更新し、
　前記解析情報は、コンパイラのバージョンと最適化レベルであることを特徴とするコンパイル方法。
【請求項２】
　複数の手続を有するソースプログラムを記憶するための記憶手段を備え、前記ソースプログラムから目的プログラムを生成して前記記憶手段に記憶するコンパイル装置において、
　前記ソースプログラムの各手続を前記記憶装置から読み出してソースプログラムコンパイル単位としてコンパイルすることにより、前記ソースプログラムコンパイル単位のそれぞれに対応する目的プログラムコンパイル単位を生成する手段と、
　各前記生成した目的プログラムコンパイル単位と各前記ソースプログラムコンパイル単位とをそれぞれ対応付けて前記目的プログラム内に格納して前記記憶手段に記憶する手段と、
　前記生成した目的プログラムコンパイル単位と前記ソースプログラムコンパイル単位とに加えて、前記ソースプログラムの構文を解析した解析情報を前記目的プログラム内に格納して前記記憶手段に記憶する手段と、
　前記ソースプログラムが変更された後に、前記ソースプログラムの構文を解析し、前記構文を解析した結果得られた解析情報を前記記憶手段から読み出して前記目的プログラムに格納されている前記解析情報と比較し、該比較の結果一致しない場合は、前記変更後のソースプログラムを構成する新たな複数のソースプログラムコンパイル単位を生成する手段と、
　前記目的プログラム内に格納されている前記複数のソースプログラムを前記記憶手段から読み出して、前記変更後のソースプログラムを構成する前記複数のソースプログラムコンパイル単位に更新するとともに、前記目的プログラム内に格納されている前記複数の目的プログラムコンパイル単位を前記新たな複数の目的プログラムコンパイル単位に更新し、前記目的プログラム内に格納されている前記解析情報を前記得られた解析情報に更新する手段とを備え、
　前記解析情報は、コンパイラのバージョンと最適化レベルであることを特徴とするコンパイル装置。」（以下、この特許請求の範囲に記載された請求項を「補正前の請求項」という。）を、
　
「【請求項１】
　複数の手続を有するソースプログラムを記憶するための記憶手段を備え、前記ソースプログラムから目的プログラムを生成して前記記憶手段に記憶するコンパイル装置におけるコンパイル方法において、
　前記コンパイル装置は、
　前記ソースプログラムの各手続を前記記憶装置から読み出してソースプログラムコンパイル単位としてコンパイルすることにより、前記ソースプログラムコンパイル単位のそれぞれに対応する目的プログラムコンパイル単位を生成し、
　各前記生成した目的プログラムコンパイル単位と各前記ソースプログラムコンパイル単位とをそれぞれ対応付けて前記目的プログラム内に格納して前記記憶手段に記憶し、
　前記生成した目的プログラムコンパイル単位と前記ソースプログラムコンパイル単位とに加えて、前記コンパイル時におけるコンパイラのバージョンと最適化レベルとを含む解析情報を前記目的プログラム内に格納して前記記憶手段に記憶し、
　前記ソースプログラムが変更された後に、前記ソースプログラムの構文を解析し、前記コンパイラにおけるコンパイラのバージョンおよび最適化レベルと前記記憶手段から読み出して前記目的プログラムに格納されている前記解析情報に記録されているコンパイラのバージョンおよび最適化レベルとを比較し、該比較の結果一致しない場合は、前記変更後のソースプログラムを構成する新たなソースプログラムコンパイル単位を生成し、前記目的プログラム内に格納されている前記ソースプログラムについて前記変更後のソースプログラムを構成する前記ソースプログラムコンパイル単位に更新し、前記目的プログラム内に格納されている前記目的プログラムコンパイル単位を前記新たな目的プログラムコンパイル単位に更新し、前記目的プログラム内に格納されている前記コンパイラにおけるコンパイラのバージョンおよび最適化レベルを含む解析情報に更新することを特徴とするコンパイル方法。
【請求項２】
　複数の手続を有するソースプログラムを記憶するための記憶手段を備え、前記ソースプログラムから目的プログラムを生成して前記記憶手段に記憶するコンパイル装置において、
　前記コンパイル装置は、
　前記ソースプログラムの各手続を前記記憶装置から読み出してソースプログラムコンパイル単位としてコンパイルすることにより、前記ソースプログラムコンパイル単位のそれぞれに対応する目的プログラムコンパイル単位を生成する手段と、
　各前記生成した目的プログラムコンパイル単位と各前記ソースプログラムコンパイル単位とをそれぞれ対応付けて前記目的プログラム内に格納して前記記憶手段に記憶する手段と、
　前記生成した目的プログラムコンパイル単位と前記ソースプログラムコンパイル単位とに加えて、前記コンパイル時におけるコンパイラのバージョンと最適化レベルとを含む解析情報を前記目的プログラム内に格納して前記記憶手段に記憶する手段と、
　前記ソースプログラムが変更された後に、前記ソースプログラムの構文を解析し、前記コンパイラにおけるコンパイラのバージョンおよび最適化レベルと前記記憶手段から読み出して前記目的プログラムに格納されている前記解析情報に記録されているコンパイラのバージョンおよび最適化レベルとを比較し、該比較の結果一致しない場合は、前記変更後のソースプログラムを構成する新たなソースプログラムコンパイル単位を生成し、前記目的プログラム内に格納されている前記ソースプログラムについて前記変更後のソースプログラムを構成する前記ソースプログラムコンパイル単位に更新し、前記目的プログラム内に格納されている前記目的プログラムコンパイル単位を前記新たな目的プログラムコンパイル単位に更新し、前記目的プログラム内に格納されている前記コンパイラにおけるコンパイラのバージョンおよび最適化レベルを含む解析情報に更新する手段とを備えたことを特徴とするコンパイル方法。」（以下、この特許請求の範囲に記載された請求項を「補正後の請求項」という。）
　に補正するものである。
　
２．補正の適否 
２−１．補正の適否（特許法第１７条の２第３項に規定する要件についての検討）
　補正後の請求項１及び請求項２は、その記載からして、それぞれ少なくとも次の事項（ア）を含んでいる。
　 
（ア）コンパイル時におけるコンパイラのバージョンと最適化レベルとを含む解析情報を目的プログラム内に格納して前記記憶手段に記憶すること。
　
　（ア）に記載された「解析情報」について検討する。
　（ア）における記載から、「解析情報」は、コンパイル時におけるコンパイラのバージョンと最適化レベルとを含むものである。
　そして、補正後の請求項１及び請求項２における記載「
ソースプログラムの構文を解析し
前記解析情報に記録されているコンパイラのバージョンおよび最適化レベルとを比較
　
　そして、願書に最初に添付した明細書及び図面に記載された「解析情報」について、何を「解析」することが記載されているか、検討する。
　
　願書に最初に添付した明細書の特許請求の範囲には、【請求項３】に、「コンパイラに入力するソースプログラムの構文を解析してソース情報を取得」する旨が記載されている。
　
　次に、願書に最初に添付した明細書の発明の詳細な説明を参照すると、発明の詳細な説明には、段落【００１２】〜【００２９】及び関連する図面の【図１】〜【図５】に実施例１が、また段落【００３０】〜【００４４】及び関連する図面の【図６】〜【図１４】に実施例２が記載されている。
　まず、前記実施例１を参照すると、ソースプログラムの手続の構文を「解析」した情報を目的プログラムファイルに格納する旨の記載がある（例えば段落【００１２】、【００１８】、【００２５】、【００２７】、【００２９】等）。　
　次に、前記実施例２を参照すると、【図６】に「ソースプログラム解析部」が記載されているが、該「ソースプログラム解析部」は、「入力したソースプログラムの変更部分を検出して、ソースプログラムのコンパイルを行うか否かを手続き単位に判定する」（段落【００３１】）との記載があることから、前記「ソースプログラム解析部」の解析した情報は、前記「入力したソースプログラムの変更部分を検出して、ソースプログラムのコンパイルを行うか否かを手続き単位に判定」した情報であると解される。
　そして、発明の詳細な説明には、実施例１におけるソースプログラムの手続の構文を「解析」した情報、及び実施例２における「ソースプログラム解析部」以外に、「解析情報」についての記載はない。
　したがって、以上を総合すると、「解析情報」は、「ソースプログラムの構文を解析」した情報であると解される。
　
　しかしながら、前記実施例１には、ソースプログラムの手続の構文を「解析」した情報が、コンパイル時におけるコンパイラのバージョンと最適化レベルとを含むことについて、記載も示唆もない。そして、コンパイラのバージョンは、コンパイラそのもののバージョンを意味し、コンパイラの最適化レベルはコンパイル時に指定するパラメータを意味するから、ソースプログラムの手続の構文を「解析」した情報が、コンパイル時におけるコンパイラのバージョンと最適化レベルとを含むことは、自明な事項でもない。（そもそも前記実施例１には、「コンパイル時におけるコンパイラのバージョンと最適化レベル」について記載も示唆もない。）
　
　同様に、前記実施例２における「ソースプログラム解析部」の解析した情報は、「入力したソースプログラムの変更部分を検出して、ソースプログラムのコンパイルを行うか否かを手続き単位に判定」した情報であって、前記「ソースプログラム解析部」の解析した情報が、コンパイル時におけるコンパイラのバージョンと最適化レベルとを含むことについて、記載も示唆もない。そして、コンパイラのバージョンは、コンパイラそのもののバージョンを意味し、コンパイラの最適化レベルはコンパイル時に指定するパラメータを意味するから、前記「入力したソースプログラムの変更部分を検出して、ソースプログラムのコンパイルを行うか否かを手続き単位に判定」した情報が、コンパイル時におけるコンパイラのバージョンと最適化レベルとを含むことは、自明な事項でもない。
　
　してみると、補正後の請求項１及び請求項２に記載された（ア）の事項は、出願当初の明細書又は図面に記載されておらず、かつ、その記載から自明なものでもないから、上記事項を追加する本件補正は、出願当初の明細書又は図面に記載した範囲内でしたものではないので、特許法第１７条の２第３項の規定に違反するものである。
　
２−２．補正の適否（特許法第１７条の２第４項に規定する要件についての検討）
　仮に、本件補正が、願書に最初に添付された明細書、特許請求の範囲又は図面に記載した範囲内にしたものであると仮定した場合に、本件補正が、特許法第１７条の２第４項に規定する要件を満たすかどうか、検討する。
　
　補正前の請求項２記載の発明は、「コンパイル装置」に関する発明であるが、補正後の請求項２記載の発明は、「コンパイル方法」に関する発明に補正されている。
　しかしながら、「コンパイル装置」に関する発明を「コンパイル方法」に関する発明に補正することは、特許法第１７条の２第４項第１号の請求項の削除、第２号の限定的減縮、第３号の誤記の訂正，及び特許法第１７条の２第４項第４号の明りょうでない記載の釈明（拒絶理由通知に係る拒絶の理由に示す事項についてするものに限る。）に該当するものでないことは明らかである。
　
　以上のとおり、本件補正は、特許法第１７条の２第４項の規定に違反するものであり、特許法第１５９条第１項で読み替えて準用する同法第５３条第１項の規定により却下されるべきものである。  
 
２−３．独立特許要件についての検討
　前記「２−１．補正の適否（特許法第１７条の２第３項に規定する要件についての検討）」において指摘したとおり、補正後の請求項１記載の発明の発明特定事項「解析情報」に「コンパイル時におけるコンパイラのバージョンと最適化レベル」が
含まれない
　しかしながら、平成２１年５月１３日付け回答書において請求人が、「コンパイル時におけるコンパイラのバージョンと最適化レベル」とは、「解析情報」に含まれない、前記「解析情報」とは異なる別の情報であることを主張していることから、仮に補正後の請求項１記載の発明の発明特定事項「解析情報」を単なる「情報」として、補正後の請求項１記載の発明を認定し（以下、前記認定された補正後の請求項１記載の発明を「補正後の発明」と言う。）、仮に特許法第１７条の２第４項第２号の特許請求の範囲の限定的減縮（請求項に記載した発明を特定するために必要な事項を限定するものであって、その補正前の当該請求項に記載された発明とその補正後の請求項に記載された発明の利用分野及び解決しようとする課題が同一であるもの）を目的とするものであると仮定した場合に、前記補正後の発明が特許出願の際独立して特許を受けることができるものであるか（特許法第１７条の２第５項において準用する同法第１２６条第５項の規定に適合するか）以下に検討する。
　
（１）補正後の発明
　上記のとおり、補正後の発明は、
　
　「複数の手続を有するソースプログラムを記憶するための記憶手段を備え、前記ソースプログラムから目的プログラムを生成して前記記憶手段に記憶するコンパイル装置におけるコンパイル方法において、
　前記コンパイル装置は、
　前記ソースプログラムの各手続を前記記憶装置から読み出してソースプログラムコンパイル単位としてコンパイルすることにより、前記ソースプログラムコンパイル単位のそれぞれに対応する目的プログラムコンパイル単位を生成し、
　各前記生成した目的プログラムコンパイル単位と各前記ソースプログラムコンパイル単位とをそれぞれ対応付けて前記目的プログラム内に格納して前記記憶手段に記憶し、
　前記生成した目的プログラムコンパイル単位と前記ソースプログラムコンパイル単位とに加えて、前記コンパイル時におけるコンパイラのバージョンと最適化レベルとを含む情報を前記目的プログラム内に格納して前記記憶手段に記憶し、
　前記ソースプログラムが変更された後に、前記ソースプログラムの構文を解析し、前記コンパイラにおけるコンパイラのバージョンおよび最適化レベルと前記記憶手段から読み出して前記目的プログラムに格納されている前記情報に記録されているコンパイラのバージョンおよび最適化レベルとを比較し、該比較の結果一致しない場合は、前記変更後のソースプログラムを構成する新たなソースプログラムコンパイル単位を生成し、前記目的プログラム内に格納されている前記ソースプログラムについて前記変更後のソースプログラムを構成する前記ソースプログラムコンパイル単位に更新し、前記目的プログラム内に格納されている前記目的プログラムコンパイル単位を前記新たな目的プログラムコンパイル単位に更新し、前記目的プログラム内に格納されている前記コンパイラにおけるコンパイラのバージョンおよび最適化レベルを含む情報に更新することを特徴とするコンパイル方法。」
　
　にあるものと仮定する。
　
（２）引用文献
　当審において新たに引用する特開平２−７９１２６号公報（以下「引用文献１」という。）には、図面とともに次の事項が記載されている。
　
（Ａ）「６．第１〜５項記載のコンパイラであって、ソースプログラムの個々の構成単位と、それに対応するオブジェクトコードとを対応付けるための情報を生成されるオブジェクトプログラム中に埋め込むことによって上記求める手段を容易に実現したことを特徴とするコンパイラ。
７．上記情報として、個々のソースプログラムの構成単位に対応するオブジェクトコードのかたまりの前後に区切り記号を埋め込むことを特徴とする第６項記載のコンパイラ。
８．１つのプログラムが、宣言単位を１つまたは複数並べたものから構成されるようなプログラミング言語のコンパイラにおいて、以前のコンパイルによって得られたオブジェクトコードを記憶し、現在コンパイルしようとする宣言単位について再コード生成が必要かどうかを判断する手段を設け、必要と判断されなかった宣言単位に対しては上記オブジェクトコードの対応する部分を使用し、必要と判断された宣言単位に対しては新たにコード生成を行い、両者をマージすることによって与えられたプログラムに対応するオブジェクトプログラムを生成することを特徴とするコンパイラ。」（２頁特許請求の範囲における請求項６〜８。）
　
（Ｂ）「〔実施例〕
　以下、本発明の実施例を図面を用いて説明する。
第１図は本発明の一実施例のＣ言語用コンパイラの構成図である。コンパイラ１１の入力となるのは、コンパイルの対象となるソースプログラム１と、ソースプログラム１の修正前のソースプログラム２と、ソースプログラム２に対応するアセンブラソースプログラム３である。アセンブラソースプログラム３はソースプログラム２を以前にコンパイルして得られたものである。これら３つのファイルを指定してコンパイラを起動すると、まずプリプロセッサ４が、ソースプログラム１とソースプログラム２を読み込み、それぞれのプログラムに対してＣ言語特有の前処理を行う。　・・・（中略）・・・　次に構文・意味解析部７が、ソースプログラム１の各宣言単位ごとに構文・意味解析を行い、シンボルテーブル８を作成し、必要に応じて中間語を生成してコード生成部９に渡す。Ｃ言語のプログラムは、変数、型、関数の宣言や定義（以下、これらを総称して「宣言」と呼ぶ）が複数並んだものであるので、中間語もこれらの宣言を単位として作成され、コード生成部に渡される。ただしこの時、新たにコードを生成する必要がない宣言については、中間語ではなく、宣言対象のシンボルのみを渡す。新たにコード生成が必要か否かの判断方法については、第２図のフローチャートを用いて後述する。コード生成部９は渡されてきたのが中間語であった場合には、それに基づいて新たにオブジェクトコード（アセンブラソース）を生成し、アセンブラソースファイル１０に出力する。」（４頁右上欄下から６行目〜右下欄１０行目。）
　
　（Ａ）及び（Ｂ）における記載から、引用文献１には、次の発明（以下、「引用発明」という。）が記載されているものと認められる。
　
　複数の宣言単位を有するソースプログラムを記憶するための記憶手段を備え、前記ソースプログラムからオブジェクトコードを生成して前記記憶手段に記憶するコンパイル装置におけるコンパイル方法において、
　前記コンパイル装置は、
　前記ソースプログラムの各宣言単位を前記記憶装置から読み出してソースプログラムコンパイル単位としてコンパイルすることにより、前記ソースプログラムコンパイル単位のそれぞれに対応するオブジェクトコード単位を生成し、
　各前記生成したオブジェクトコード単位と各前記ソースプログラムコンパイル単位とをそれぞれ対応付けて記憶手段に記憶し、
　前記ソースプログラムが変更された後に、前記ソースプログラムの構文を解析し、コンパイルしようとする前記ソースプログラムの宣言単位について、再コンパイルが必要かどうかを判断し、該判断の結果必要とする場合に、前記変更後のソースプログラムを構成する新たなソースプログラムコンパイル単位を生成し、オブジェクトコードファイル内に格納されている前記オブジェクトコード単位を前記新たなオブジェクトコード単位に更新することを特徴とするコンパイル方法。
　　
（３）対比
　そこで、補正後の発明と引用発明とを対比すると、
　引用発明の「宣言単位」及び「オブジェクトコード単位」は、それぞれ補正後の発明の「手続」及び「目的プログラムコンパイル単位」に相当する。
　引用発明の「オブジェクトコード」及び「オブジェクトコードファイル」は、補正後の発明の「目的プログラム」に相当する。
　そして、引用発明の「コンパイルしようとする前記ソースプログラムの宣言単位について、再コンパイルが必要かどうかを判断し、該判断の結果必要とした場合」と補正後の発明の「コンパイラにおけるコンパイラのバージョンおよび最適化レベルと前記記憶手段から読み出して前記目的プログラムに格納されている前記情報に記録されているコンパイラのバージョンおよび最適化レベルとを比較し、該比較の結果一致しない場合」とは、コンパイルが必要かどうかを判断し、該判断の結果必要とする場合である点で一致する。
　よって、補正後の発明と引用発明とは、以下の点で相違している。 
　 
（相違点１）
　補正後の発明は、生成した目的プログラムコンパイル単位と各ソースプログラムコンパイル単位とをそれぞれ対応付けて目的プログラム内に格納して記憶手段に記憶するのに対して、引用発明は、生成したオブジェクトコード単位と各ソースプログラムコンパイル単位とをそれぞれ対応付けて記憶手段に記憶する点。
　
（相違点２）
　補正後の発明は、コンパイル時におけるコンパイラのバージョンと最適化レベルを含む情報を前記目的プログラム内に格納して前記記憶手段に記憶するのに対して、引用発明は、コンパイル時におけるコンパイラのバージョンと最適化レベルを含む情報を前記オブジェクトコードファイル内に格納して記憶手段に記憶するものでない点。
　
（相違点３）
　補正後の発明は、コンパイル時におけるコンパイラのバージョンおよび最適化レベルについての情報と目的プログラムに格納されている前記情報に記録されているコンパイラのバージョンおよび最適化レベルとを比較し、該比較の結果一致しない場合は、前記変更後のソースプログラムを構成する新たなソースプログラムコンパイル単位を生成し、前記目的プログラム内に格納されている前記ソースプログラムについて前記変更後のソースプログラムを構成する前記ソースプログラムコンパイル単位に更新し、前記目的プログラム内に格納されている前記目的プログラムコンパイル単位を前記新たな目的プログラムコンパイル単位に更新し、前記目的プログラムに格納されている前記コンパイラにおけるコンパイラのバージョンおよび最適化レベルを含む情報に更新するのに対して、引用発明は、コンパイルしようとする前記ソースプログラムの宣言単位について、再コンパイルが必要かどうかを判断し、該判断の結果必要とする場合に、前記変更後のソースプログラムを構成する新たなソースプログラムコンパイル単位を生成し、オブジェクトコードファイル内に格納されている前記オブジェクトコード単位を前記新たなオブジェクトコード単位に更新する点。
　
（４）判断 
　相違点１について検討する。
　特開平８−６７６７号公報に、
「【０００９】本発明はこのような問題点を解決するためになされたものであって、オブジェクトファイル又はロードモジュールファイルの中に、それを生成する場合に使用したソースプログラムの内容を格納することにより、ソースプログラムとオブジェクトファイル、又はソースプログラムとロードモジュールファイルとを対応せしめることを第１の目的とし、・・・（後略）」と記載されているように、コンパイル装置においてソースプログラムとオブジェクトファイルとを対応せしめるために、オブジェクトファイルの中に、それを生成する場合に使用したソースプログラムを格納することは、当業者にとって周知の技術（以下、「周知技術１」と言う。）である。
　してみると、引用発明の「コンパイル装置」に前記周知技術１を適用することで、引用発明において、生成したオブジェクトコード単位と各ソースプログラムコンパイル単位とをそれぞれ対応付けてオブジェクトコードファイル内に格納して記憶手段に記憶するように構成することは、当業者であれば、容易に想到し得たことである。
　よって、相違点１は、格別のものでない。
　
　相違点２及び相違点３について検討する。
　コンパイラのバージョンを変更した場合に、記憶手段に記憶されている古いバージョンのコンパイラでコンパイルされたオブジェクトファイルに対応するソースファイルを再コンパイルする必要があることは、当業者にとって周知の常識である。（例えば、特開平３−２５６１２０号公報の５頁左上欄１４行目〜１７行目等参照。）
　また、コンパイラの最適化が、実行時間やメモリ使用量などを最小化するようなオブジェクトコードを生成することを意味し、最適化レベルを変更する場合に、再コンパイルする必要があることは、当業者にとって周知の常識である。（例えば、特開平５−２２４９１１号公報の段落【０００４】、特開平２−２０５９２９号公報５頁右上欄下から２行目〜左下欄１行目等参照。）
　
　そして、特開平１０−２９３６８３号公報に、
「【００２４】・・・（中略）・・・図３は、旧バージョンコンパイラ１１で生成され、出力されたアセンブリ言語プログラム１３を示すものである。ここで、一般に、アセンブリ言語プログラムは、最初の数行は、コンパイラ側でコンパイラのバージョン情報等を表すコメント文を付加する場合が多い。」と記載されているように、コンパイル装置において、コンパイル時のコンパイラのバージョンをオブジェクトファイル内に記録することは、当業者にとって周知の技術（以下、「周知技術２」と言う。）である。
　また、特開平９−２１８７８９号公報に、
「【請求項３】  請求項２記載の分割コンパイル方式において、
前記オブジェクト情報ファイルにコンパイルオプションの指定の内容を記録しておき、・・・（後略）」と記載されているように、コンパイル装置において、コンパイル時のコンパイルオプションの指定をオブジェクトファイル内に記録することは、当業者にとって周知の技術（以下、「周知技術３」と言う。）である。
　なお、最適化オプションの指定に最適化レベルの指定が含まれることは、当業者にとって自明である。（特開平６−２０２８７５号公報の段落【０００３】参照。）
　
　してみると、引用発明の「コンパイルしようとする前記ソースプログラムの宣言単位について、再コンパイルが必要かどうかを判断し、該判断の結果必要とする場合」として、コンパイラのバージョンを変更したかどうか、またはコンパイラの最適化レベルを変更したかどうかを判断し、コンパイラのバージョンまたはコンパイラの最適化レベルを変更したと判断した場合を適用し、その際に「オブジェクトコードファイル」内に、コンパイル時におけるコンパイラのバージョンと最適化レベルとを含む情報を格納して記憶することが周知（周知技術２及び周知技術３）であることを勘案すると、引用発明において、コンパイル時におけるコンパイラのバージョンを変更したかどうか、またはコンパイラの最適化レベルを変更したかどうかを判断し、コンパイラのバージョンまたはコンパイラの最適化レベルを変更したと判断した場合（すなわち、コンパイラのバージョンおよび最適化レベルについての情報とオブジェクトコードファイルに格納されている前記情報に記録されているコンパイラのバージョンおよび最適化レベルとを比較し、該比較の結果一致しない場合）に、再コンパイルを行うようにすること、すなわち前記変更後のソースプログラムを構成する新たなソースプログラムコンパイル単位を生成し、前記オブジェクトコードファイル内に格納されている前記ソースプログラムについて前記変更後のソースプログラムを構成する前記ソースプログラムコンパイル単位に更新し、前記オブジェクトコードファイル内に格納されている前記オブジェクトコード単位を前記新たなオブジェクトコード単位に更新するように構成することは、当業者であれば、容易に想到し得たことである。
　その際に、前記オブジェクトコードファイルに格納されている前記コンパイラにおけるコンパイラのバージョンおよび最適化レベルを含む情報に更新することは、当然の帰結である。
　よって、相違点２及び相違点３は、格別のものでない。
　
　上記で検討したごとく、相違点１〜相違点３は格別のものではなく、そして、補正後の発明の構成によってもたらされる効果も、当業者であれば当然に予測可能なものに過ぎず格別なものとは認められない。 
　 
　したがって、補正後の発明は、引用文献に記載された発明及び周知技術に基づいて、容易に発明できたものである。
　
　以上のとおり、補正後の発明は、本願の特許出願前に日本国内又は外国において、頒布された刊行物に記載された発明に基いて、当業者が容易に発明をすることができたものであるから、特許法第２９条第２項の規定により、特許出願の際独立して特許を受けることができない。
　よって、本件補正は、平成１８年法律第５５号改正附則第３条第１項によりなお従前の例によるとされる同法による改正前の特許法第１７条の２第５項の規定において準用する同法第１２６条第５項の規定に違反するので、同法第１５９条第１項において読み替えて準用する同法第５３条第１項の規定により却下すべきものである。
　
２−４．平成２１年５月１３日付け回答書に記載された補正案について
　請求人は、平成２１年５月１３日付けで提出した回答書において、新たな補正案を記載し、その特許性を主張している。そして、前記回答書に記載された補正案は、以下のとおりである。
　
　「a）複数の手続を有するソースプログラムを記憶するための記憶手段を備え、前記ソースプログラムから目的プログラムを生成して前記記憶手段に記憶するコンパイル装置におけるコンパイル方法において、 
 　前記コンパイル装置は、 
 　ｂ）前記ソースプログラムの各手続を前記記憶手段から読み出してソースプログラムコンパイル単位としてコンパイルすることにより、前記ソースプログラムコンパイル単位のそれぞれに対応する目的プログラムコンパイル単位を生成し、 
 　ｃ）各前記生成した目的プログラムコンパイル単位と各前記ソースプログラムコンパイル単位とをそれぞれ対応付けて前記目的プログラム内に格納して前記記憶手段に記憶し、 
 　ｄ）前記生成した目的プログラムコンパイル単位と前記ソースプログラムコンパイル単位とに加えて、前記ソースプログラムの構文を解析することで得られる情報である解析情報を前記目的プログラム内に格納して前記記憶手段に記憶し、更に、前記コンパイル時におけるコンパイラのバージョンおよび最適化レベルを前記記憶手段に記憶し、 
 　ｅ）前記ソースプログラムが変更された後に、前記ソースプログラムの構文を解析し、前記目的プログラムに格納されている前記解析情報を前記記憶手段から読み出し、前記構文を解析した結果得られた解析情報と、前記記憶手段から読み出した前記目的プログラムに格納されている前記解析情報とを比較し、該比較の結果一致しない場合は、前記変更後のソースプログラムを構成する新たなソースプログラムコンパイル単位を生成し、 
 　ｆ）前記目的プログラム内に格納されている前記ソースプログラムを前記記憶手段から読み出して、前記変更後のソースプログラムを構成する前記ソースプログラムコンパイル単位に更新するとともに、前記目的プログラム内に格納されている前記目的プログラムコンパイル単位を前記新たな目的プログラムコンパイル単位に更新し、前記目的プログラム内に格納されている前記解析情報を前記得られた解析情報に更新することを特徴とするコンパイル方法。」
　
　なお、審尋の回答に際し、特許法第１７条の２に規定する補正をすることはできないが、前記回答書に記載された補正案が、依然として特許性を有していないことを参考として以下に附記しておく。
　
　前記補正案は、（イ）ソースプログラムコンパイル単位を目的プログラムコンパイル単位に対応付けて目的プログラム内に格納して前記記憶手段に記憶すること、（ロ）ソースプログラムの構文を解析することで得られる情報である解析情報を前記目的プログラム内に格納して前記記憶手段に記憶すること、及び（ハ）コンパイル時におけるコンパイラのバージョンおよび最適化レベルを前記記憶手段に記憶すること、をその発明特定事項として、
全て
　
　しかしながら、願書に最初に添付した明細書の発明の詳細な説明の段落【００１２】〜【００２９】及び関連する図面の【図１】〜【図５】に記載された実施例１には、ソースプログラムをソースプログラムファイルに格納し、該ソースプログラムの目的プログラム及び前記ソースプログラムの手続の構文を解析した情報をソース情報として前記目的プログラムファイルに格納（すなわち記憶）し、ソースプログラムが変更された後に、記憶装置上に格納されている前記ソースプログラムファイルからソースプログラムを入力して、前記ソースプログラムの各手続の構文を解析し、前記目的プログラムファイルに格納されている各手続の構文を解析したソース情報とを比較し、該比較の結果一致しない場合は、前記目的プログラムファイルに格納されている前記ソース情報を更新することが記載されているが、前記（イ）、（ハ）、及び補正案の発明特定事項「ｆ）」における「前記目的プログラム内に格納されている前記ソースプログラムを前記記憶手段から読み出」すことについては、記載も示唆もない。
　よって、願書に最初に添付した明細書の発明の詳細な説明の段落【００１２】〜【００２９】及び関連する図面の【図１】〜【図５】には、前記（イ）、（ロ）、及び（ハ）をその発明特定事項として、
全て
　
　また、願書に最初に添付した明細書の発明の詳細な説明の段落【００３０】〜【００４４】及び関連する図面の【図６】〜【図１４】に記載された実施例２には、ソースプログラムの各手続単位を目的プログラムファイルに格納（すなわち記憶）し、ソースプログラムが変更された後に、前記ソースプログラムの各手続単位と前記目的プログラムファイルに格納されているソースプログラムの各手続単位とを比較し、該比較の結果一致しない場合は、前記目的プログラムファイルに格納されている前記ソースプログラムの各手続単位を更新すること、さらに、前記目的プログラムファイルのヘッダー部にコンパイラのバージョンやコンパイルした時の最適化レベルを格納しておき、コンパイルするコンパイラのバージョンとコンパイル時に指定する最適化レベルと前記ヘッダ部に格納された、コンパイラのバージョンやコンパイルした時の最適化レベルを一緒に比較し、コンパイラのバージョンやコンパイルした時の最適化レベルが一致しない場合は、前記ソースプログラムの全ての手続きをコンパイル対象とすることが記載されているが、前記（ロ）及び補正案の発明特定事項「ｅ）」については、記載も示唆もない。
　よって、願書に最初に添付した明細書の発明の詳細な説明の段落【００３０】〜【００４４】及び関連する図面の【図６】〜【図１４】には、前記（イ）、（ロ）、及び（ハ）をその発明特定事項として、
全て
　また、出願当初の明細書の特許請求の範囲の請求項においても、前記（イ）、（ロ）及び（ハ）をその発明特定事項として、
全て
　よって、前記補正案に記載された、前記（イ）、（ロ）、及び（ハ）をその発明特定事項として
全て
　
　さらに、前記補正案は、コンパイル時におけるコンパイラのバージョンまたは最適化レベルが変わった場合においても、ソースプログラムの構文を解析し、前記目的プログラムに格納されている前記解析情報を前記記憶手段から読み出し、前記構文を解析した結果得られた解析情報と、前記記憶手段から読み出した前記目的プログラムに格納されている前記解析情報とを比較し、該比較の結果一致しない場合は、前記変更後のソースプログラムを構成する新たなソースプログラムコンパイル単位を生成し、 ・・・（中略）・・・前記目的プログラム内に格納されている前記目的プログラムコンパイル単位を前記新たな目的プログラムコンパイル単位に更新し、前記目的プログラム内に格納されている前記解析情報を前記得られた解析情報に更新するが、前記比較の結果一致する場合は、再コンパイルを行わず、目的プログラムコンパイル単位及び解析情報の更新は行わない態様を含むものである。
　しかしながら、本願の発明の詳細な説明には、
「【００４４】
　さらに、ヘッダー部には、該手続きをコンパイルした時のコンパイラのバージョンやコンパイルした時の最適化レベルも格納されている。使用するコンパイラが新しくなったり、コンパイル時の最適化レベルが変った場合は、各手続きの目的プログラムの作成条件を合わせる為に
全ての手続きがコンパイル対象となる
　
　以上のように、前記回答案に記載された補正案は、少なくとも特許法第１７条の２第３項の規定及び同法第３６条第６項第１号の規定に違反するものであるから、仮に前記補正案のとおり補正した場合であっても、特許を受けることはできない。
　
３．結語
　以上のとおり、本件補正は、願書に最初に添付された明細書、特許請求の範囲又は図面に記載した範囲内にしたものでなく、平成１４年法律第２４号改正附則第３条第１項によりなお従前の例によるとされる同法による改正前の特許法第１７条の２第３項の規定に違反するので、同法第１５９条第１項において読み替えて準用する同法第５３条第１項の規定により却下すべきものである。
　
　また、仮に、本件補正が、願書に最初に添付された明細書、特許請求の範囲又は図面に記載した範囲内にしたものであると仮定した場合においても、本件補正は、平成１８年法律第５５号改正附則第３条第１項によりなお従前の例によるとされる同法による改正前の特許法第１７条の２第４項の規定に違反するので、同法第１５９条第１項において読み替えて準用する同法第５３条第１項の規定により却下すべきものである。
　
　また、仮に、本件補正が、願書に最初に添付された明細書、特許請求の範囲又は図面に記載した範囲内にしたものであると仮定し、さらに特許法第１７条の２第４項第２号の特許請求の範囲の限定的減縮（請求項に記載した発明を特定するために必要な事項を限定するものであって、その補正前の当該請求項に記載された発明とその補正後の請求項に記載された発明の利用分野及び解決しようとする課題が同一であるもの）を目的とするものであると仮定した場合に、仮に補正後の請求項１記載の発明の発明特定事項「解析情報」を単なる「情報」として、補正後の請求項１記載の発明を認定した場合においても、前記補正後の請求項１記載の発明は、本願の特許出願前に日本国内又は外国において、頒布された刊行物に記載された発明に基いて、当業者が容易に発明をすることができたものであるから、特許法第２９条第２項の規定により、特許出願の際独立して特許を受けることができないものであり、本件補正は、平成１８年法律第５５号改正附則第３条第１項によりなお従前の例によるとされる同法による改正前の特許法第１７条の２第５項の規定において準用する同法第１２６条第５項の規定に違反するので、同法第１５９条第１項において読み替えて準用する同法第５３条第１項の規定により却下すべきものである。
　
　したがって、いずれにしても、本件補正は、特許法第１５９条第１項において準用する同法第５３条第１項の規定により却下すべきものである。
　
第３．本願発明について
１．本願明細書及び図面について
　平成１９年４月６日付けの手続補正は上記のとおり却下されたので、本願の特許請求の範囲は、平成１８年９月１１日付け手続補正書の特許請求の範囲（以下、「本願特許請求の範囲」という。）に記載された事項により特定されるものである。そして、本願の発明の詳細な説明及び図面は、願書に最初に添付した明細書の発明の詳細な説明及び図面により特定されるものである。
　
２．原査定の拒絶理由 
　平成１８年１０月３日付けで通知された拒絶理由は、次のとおりである。 
　 
「理由１：この出願は、特許請求の範囲の記載が下記の点で、特許法第３６条第６項第２号に規定する要件を満たしていない。
　　　　　　　　　　　　　　　　　記
　（１）請求項１には「ソースプログラムの構文を解析した解析情報」という記載があり、この記載では「解析情報」という用語は「ソースプログラムの構文を解析」して得られる情報であるという定義になっている。一方、請求項１には「前記解析情報は、コンパイラのバージョンと最適化レベルである」という記載があり、この記載は前記「解析情報」という用語の定義と矛盾している（技術常識に基づけば、ソースプログラムの構文を解析しても、コンパイラのバージョンと最適化レベルの情報は得られない）。したがって、請求項１の前記記載は矛盾しており意味するところが不明である。請求項２にも同様の記載不備がある。
　　　　　　　　　　　　　　　　　　　　　　　　　　　　（以上、理由１）
　
理由２：この出願は、特許請求の範囲の記載が下記の点で、特許法第３６条第６項第１号に規定する要件を満たしていない。
　　　　　　　　　　　　　　　　　記
　（１）請求項１、２には、ソースプログラムの構文を解析することによって「コンパイラのバージョンと最適化レベルの情報」が「解析情報」として得られる旨の記載があるが、この記載は発明の詳細な説明の記載と対応が取れていない。なお、明細書段落【００４４】には「コンパイルした時のコンパイラのバージョンやコンパイルした時の最適化レベル」を目的プログラムのヘッダーに格納しておく旨の記載があるが、「コンパイルした時のコンパイラのバージョンやコンパイルした時の最適化レベル」がソースプログラムの構文を解析することによって得られるとは記載されていない。　　　　　　　　　　　　　（以上、理由２）
　
理由３：この出願は、発明の詳細な説明の記載が下記の点で、特許法第３６条第４項に規定する要件を満たしていない。
　　　　　　　　　　　　　　　　　記
　（１）請求項１、２には、ソースプログラムの構文を解析することによって「コンパイラのバージョンと最適化レベルの情報」が「解析情報」として得られる旨の記載があるが、この記載の具体的な実現手法が、当業者が実施できる程度に明確かつ十分に発明の詳細な説明において開示されていない。なお、明細書段落【００４４】には「コンパイルした時のコンパイラのバージョンやコンパイルした時の最適化レベル」を目的プログラムのヘッダーに格納しておく旨の記載があるが、「コンパイルした時のコンパイラのバージョンやコンパイルした時の最適化レベル」がソースプログラムの構文を解析することによって得られるとは記載されていないし、技術常識に鑑みても、そのような情報が何故ソースコードを解析することで判明するのか全く理解できず不明である。
　
　よって、この出願の発明の詳細な説明は、当業者が請求項１、２に係る発明を実施することができる程度に明確かつ十分に記載されていない。
　　　　　　　　　　　　　　　　　　　　　　　　　　　　（以上、理由３）
　
理由４：平成１８年９月１１日付けでした手続補正は、下記の点で願書に最初に添付した明細書又は図面に記載した事項の範囲内においてしたものでないから、特許法第１７条の２第３項に規定する要件を満たしていない。
　　　　　　　　　　　　　　　　　記
　（１）請求項１、２には、ソースプログラムの構文を解析することによって「コンパイラのバージョンと最適化レベルの情報」が「解析情報」として得られる旨の記載が追加されたが、そのようなことは出願当初の明細書にも図面にも記載されておらず、また、出願当初の明細書からも図面からも自明な事項とは認められないので、新規事項の追加にあたる。　　　　　　　　　　（以上、理由４）」 
　 
３．当審の判断 
　上記拒絶理由について検討する。 
　
３−１．「理由１」の「（１）」について 
　請求項１に記載された「ソースプログラムの構文を解析した解析情報」は、発明の詳細な説明の段落を参照すると、上記「第２．補正却下の決定」の「２．補正の適否 」の「２−１．補正の適否（特許法第１７条の２第３項に規定する要件についての検討）」で指摘したとおり、実施例１に記載された、「ソースプログラムの手続の構文を解析した情報」を意味すると認められる。
　そして、コンパイラのバージョン及び最適化レベルは、それぞれ、ソースプログラムをコンパイルする時のコンパイラ本体のバージョン、及びコンパイル時に指定するコンパイルオプション情報であるから、ソースプログラムの構文に記載されているものではなく、ソースプログラムの構文を解析した解析情報が「コンパイラのバージョンと最適化レベル」であるとすることは、コンパイラに関する技術常識に矛盾するものである。
　このように、請求項１及び請求項２には、矛盾する発明特定事項「ソースプログラムの構文を解析した解析情報」及び「解析情報は、コンパイラのバージョンと最適化レベルである」を含むものであるから、請求項１及び請求項２は、特許を受けようとする発明が明確でない。
　以上のように、前記原審における平成１８年１０月３日付けの拒絶理由の「理由１」の「（１）」において「したがって、請求項１の前記記載は矛盾しており意味するところが不明である。請求項２にも同様の記載不備がある。」と指摘したとおり、請求項１及び請求項２に係る発明は明確でないから、この出願は、特許法第３６条第６項第２号に規定する要件を満たしていない。
　
３−２．「理由２」の「（１）」について
　請求項１及び請求項２に記載された発明は、ソースプログラムの構文を解析した解析情報が「コンパイラのバージョンと最適化レベル」であることを技術態様として含むものである。
　しかしながら、上記「第２．補正却下の決定」の「２．補正の適否 」の「２−１．補正の適否（特許法第１７条の２第３項に規定する要件についての検討）」で指摘したとおり、発明の詳細な説明には、ソースプログラムの構文を解析した解析情報が「コンパイラのバージョンと最適化レベル」であることについて、記載も示唆もなく、また自明な事項でもない。
　このように、請求項１及び請求項２に記載された発明の含む技術態様「ソースプログラムの構文を解析した解析情報が、コンパイラのバージョンと最適化レベルである」ことは、発明の詳細な説明に記載したものでない。
　以上のように、前記原審における平成１８年１０月３日付けの拒絶理由の「理由２」の「（１）」において「「コンパイルした時のコンパイラのバージョンやコンパイルした時の最適化レベル」がソースプログラムの構文を解析することによって得られるとは記載されていない。」と指摘したとおり、請求項１及び請求項２に係る発明は発明の詳細な説明に記載したものでないから、この出願は、特許法第３６条第６項第１号に規定する要件を満たしていない。
　
３−３．「理由３」の「（１）」について
　請求項１及び請求項２に記載された発明は、ソースプログラムの構文を解析した解析情報が「コンパイラのバージョンと最適化レベル」であることを技術態様として含むものである。
　しかしながら、上記「第２．補正却下の決定」の「２．補正の適否 」の「２−１．補正の適否（特許法第１７条の２第３項に規定する要件についての検討）」で指摘したとおり、発明の詳細な説明には、ソースプログラムの構文を解析した解析情報が「コンパイラのバージョンと最適化レベル」であることについて、記載も示唆もなく、また自明な事項でもない。
　そして、発明の詳細な説明は、「ソースプログラムの構文を解析した解析情報」から「コンパイラのバージョンと最適化レベル」とを得るための具体的な構成を、当業者が実施をすることができる程度に明確かつ十分に記載したものでない。
　以上のように、前記原審における平成１８年１０月３日付けの拒絶理由の「理由３」の「（１）」において「「コンパイルした時のコンパイラのバージョンやコンパイルした時の最適化レベル」がソースプログラムの構文を解析することによって得られるとは記載されていないし、技術常識に鑑みても、そのような情報が何故ソースコードを解析することで判明するのか全く理解できず不明である。」と指摘したとおり、発明の詳細な説明の記載は、当業者が、請求項１及び請求項２に記載された発明の実施をすることができる程度に明確かつ十分に記載したものでないから、この出願は、特許法第３６条第４項に規定する要件を満たしていない。
　
３−４．「理由４」の「（１）」について
　平成１８年９月１１日付けでした手続補正により補正された特許請求の範囲の請求項１及び請求項２には、「ソースプログラムの構文を解析した解析情報」及び「解析情報は、コンパイラのバージョンと最適化レベルである」が記載されたが、上記「第２．補正却下の決定」の「２．補正の適否 」の「２−１．補正の適否（特許法第１７条の２第３項に規定する要件についての検討）」で指摘したとおり、前記記載は、願書に最初に添付した明細書又は図面に記載した事項の範囲内においてしたものでない。
　以上のように、前記原審における平成１８年１０月３日付けの拒絶理由の「理由４」の「（１）」において「請求項１、２には、ソースプログラムの構文を解析することによって「コンパイラのバージョンと最適化レベルの情報」が「解析情報」として得られる旨の記載が追加されたが、そのようなことは出願当初の明細書にも図面にも記載されておらず、また、出願当初の明細書からも図面からも自明な事項とは認められないので、新規事項の追加にあたる。」と指摘したとおり、平成１８年９月１１日付けでした手続補正は、特許法第１７条の２第３項に規定する要件を満たしていない。
　
４．むすび 
　以上のとおり、本願は、その明細書の発明の詳細な説明の記載が、特許法第３６条第４項に規定する要件を満たしていないから、特許を受けることができない。
　また、本願は、その明細書の特許請求の範囲の記載が、特許法第３６条第６項第１号及び第２号に規定する要件を満たしていないから、特許を受けることができない。
　また、本願は、平成１８年９月１１日付けでした手続補正が、特許法第１７条の２第３項に規定する要件を満たしていないから、特許を受けることができない。
　
　よって、結論のとおり審決する。