JPH036622A - コンパイルリスト出力装置 - Google Patents

コンパイルリスト出力装置

Info

Publication number
JPH036622A
JPH036622A JP1140617A JP14061789A JPH036622A JP H036622 A JPH036622 A JP H036622A JP 1140617 A JP1140617 A JP 1140617A JP 14061789 A JP14061789 A JP 14061789A JP H036622 A JPH036622 A JP H036622A
Authority
JP
Japan
Prior art keywords
error
information
line number
intermediate language
source program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP1140617A
Other languages
English (en)
Inventor
Takayo Matsuoka
松岡 恭代
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Solution Innovators Ltd
Original Assignee
NEC Software Chubu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Software Chubu Ltd filed Critical NEC Software Chubu Ltd
Priority to JP1140617A priority Critical patent/JPH036622A/ja
Publication of JPH036622A publication Critical patent/JPH036622A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、中間言語の存在するコンパイラにおけるコン
パイルリスト出力装置に関する。
〔従来の技術〕
従来、中間言語の存在するコンパイラでは、ソースプロ
グラムと中間言語の行番号対応情報を持たず、メインコ
ンパイラで検出されたエラーは、ソースプログラムと共
に出力することができなかった。したがって、解析結果
を出力するためには、プリコンパイラ部とメインコンパ
イラ部がそれぞれにリスト出力手段を有し、プリコンパ
イラ部はソースプログラムについて、メインコンパイラ
部は中間言語についてのリストを出力していた。
第5図は、このような従来技術の構成図を示す。
〔発明が解決しようとする課題〕
上述した従来のコンパイルリスト出力装置では、出力す
るリストが2種類存在し、ソースプログラムと中間言語
の行番号の対応が不明確であるため、メインコンパイラ
で検出されたエラーを入力ソース上で修正することが困
難であるという欠点がある。
〔課題を解決するための手段〕
本発明の装置は、ソースプログラムを解析し中間言語を
生成するブリコンパイラ部と、中間言語を解析しオブジ
ェクトを生成するメインコンパイラ部よりなるコンパイ
ラにおけるコンパイルリスト出力装置において、 前記ブリコンパイラ部で検出されたエラー情報Aを出力
する手段と、 前記ソースプログラムと前記中間言語の行番号対応情報
を生成出力する手段と、 前記メインコンパイラ部で検出されたエラー情報Bを出
力する手段と、 前記エラー情報Bを入力する1段と、 前記行番号対応情報を入力する手段と、該行番号対応情
報に基づき前記エラー情報Bの行番号を修正する手段と
、 前記エラー情報Δを入力する手段と、 前記エラー情報Δ及び前記エラー情報Bを前記ソースプ
ログラムの該当する行位置に出力する手段とを有する。
〔実施例〕
次に、本発明について図面を参照して説明する。
第1図は本発明の一実施例のブロフク図であり、■はブ
リコンパイラ部、2はメインコンパイラ部、3はリスト
出力部である。
ブリコンパイラ部lは、ソースプログラム4を入力し、
構文解析を行い、構文エラー検出時はエラー情報7を、
構文エラー未検出時は中間言語5と、ソースブロクラム
4と中間言語5との行番号対応情報8とを出力する機能
を持つ。
メインコンパイラ部2は、中間言語5を入力し、構文解
析を行い、構文エラー検出時はエラー情報9を、構文エ
ラー未検出時はオブジェクト6を出力する機能を持つ。
リスト出力部3は、ソースプログラム4とエラー情報7
とエラー情報9と行番号対応情報8よりコンパイルリス
ト38を編集し出力する機能を持つ。
次に本発明の詳細な説明する。
ブリコンパイラ部1では、下記の処理を行う。
入力手段11ではソースプログラム4を入力し、内部行
番号として各行に連続した番号を付与して、解析手段1
2に渡す。解析手段12では、構文解析を行い、その結
果エラーが検出されない場合は、中間言語生成半没13
において中間言語5に変換する。生成された中間言語5
には連続した行番号を付与し、メインコンパイラ部2に
渡す。また、ソースプログラム4の内部行番号と中間言
語5の行番号を行番号対応情報生成出力手段14に渡す
行番号対応情報生成出力手段14は、ソースプログラム
4の内部行番号と中間言語5の行番号より行番号対応情
報8を生成出力し、リスト出力部3へ渡す。
構文解析の結果エラーが検出された場合には、エラー情
報生成手段15に従って、ソースプロゲラ1.4の内部
行番号とエラ一番号とエラーメツセージから成るエラー
情報7を生成出力しリスト出力部3に渡す。
メインコンパイラ部2では下記の処理を行う。
入力手段21は、中間言語5を入力し、解析手段22へ
渡す。解析手段22は、構文解析を行い、その結果エラ
ーが検出されない場合は、オブジェクト生成手段23に
おいてオブジェクト6に変換する。
構文解析の結果エラーが検出された場合は、中間言語5
の行番号とエラ一番号をエラー情報生成手段24に渡す
。エラー情報生成手段24は、中間言語5の行番号とエ
ラ一番号とエラーメンセージから成るエラー情報9を生
成し出力する。
リスト出力部3では下記の処理を行う。
エラー情報入力手段31は、エラー情報9を入力し、メ
モリ上の領域36に格納する。行番号対応情報入力手段
32は、行番号対応情報8を入力し、中間言語5の行番
号によりメモリ上の領域37内の格納位置を決定し、ソ
ースブロクラム4の内部行番号を格納してソースプログ
ラム4の内部行番号と中間言語5の行番号との対応表を
生成する。
メモリ上の領域37は、この処理に先立ち数値0で初期
化されている必要がある。中間言語5の行番号は行番号
対応情報8より入力するデータであり、ソースプログラ
ム4の内部行番号は行番号対応情報8内のデータの格納
位置である。対応表は中間言語50行番号の昇順にソー
スプログラド4の内部行番号を保持するもので、メモリ
上の領域37に格納する。対応表の内容は、数値0また
はソースプログラム4の内部行番号である。対応表のデ
ータか数値0の場合、その位置の中間言語5の行番号に
対応するソースプログラム4の内部行番号は、中間言語
5の次の行と同じである。
エラー情報行番号修正手段33は、メモリ上の領域36
に格納されているエラー情報90行番号をメモリ上の領
域37に格納されている対応表に従ってソースプログラ
ム4の内部行番号に修正する。対応表の検索は、エラー
情報9の中間言語5の行番号により検索の先頭位置を決
定し、取得したデータが0の場合は中間言語5の次の行
のデータを取得する。
エラー情報入力手段34は、エラー情報7を入力し、メ
モリ上の領域36にエラー情報7と共に格納する。
リスト出力手段35の処理は、ソースプログラム4を入
力し、メモリ上の領域36に格納されているエラー情報
7及びエラー情報9をソースブロクラムの該当行位首に
挿入してコンパイルリスト38を出力する処理を行う。
第2図は行番号対応情報8の内容説明図である。
行番号対応情報8は直編成ファイルに格納されていて、
レコード形式はブロック化固定長レコードである。ブロ
ック化係数はmである。データは中間言語5の行番号で
、ソースプログラム4の内部行番号の昇順に格納されて
いる。なお、ソースプログラム1行から中間言語が複数
行生成される場合、最後に生成された中間言語50行番
号が格納される。
次に行番号対応情報生成手段14のフローチャートを第
3図に示す。
格納位置取得処理S1は、ソースプログラム4の内部行
番号からデータの格納位置を取得する処理で、レコード
番号取得処理Sllとレコード内位置位置取得処理S1
2を行う。
レコード番号取得処理Sllは、ソースプログラム4の
内部行番号を行番号対応情報8のブロック化係数mで割
った場合の商の整数部分を取得する。レコード内位置取
得処理S12は、ソースプログラム4の内部行番号を行
番号対応情報8のブロック化係数mで割った余りを取得
する。
データ出力処理S2は、格納位置取得処理S1で取得し
た行番号対応情報8の該当位置にデータを出力する処理
で該当レコード入力処理S21と、該当レコード内位買
置き込み処理S22と、レコード出力処理S23を行う
該当レコード入力処理S21は、レコード番号数(1ト
処理Sllで取得した番号のレコードを入力する。該当
レコード内位ff1lJき込み処理S22は、該当レコ
ード入力処理S21で入力したレコードについて、レコ
ード内位置取得処理S12で取得した位置のデータを書
き換える処理である。レコード出力処理S23は、該当
レコード内位買置き込み処理S22を行ったレコードを
行番号対応情報8の該当するレコード位置に再度出力す
る処理である。
次にリスト出力手段35のフローチャートを第4図に示
す。
エラー情報分類処理S3は、メモリ上の領域36に格納
されているエラー情報7及びエラー情報9を分類する処
理で1次キーはソースプログラド、4の内部行番号、2
次キーはエラ一番号である。
コン/゛イルリスト編集処理S4はソースプログラド出
力処理S41とエラーメツセージ出力処理S42を行う
ソースブロクラド出力処理S41は、ソースプログラム
4を1行入力してリストに出力し、ソースプログラム4
の内部行番号をエラーメツセージ出力処理S42に渡す
。エラーメツセージ出力処理S42では、ソースプログ
ラム出力処理S41より取得したソースプログラムの内
部行番号をキーとして、メモリ上の領域36に格納され
ているエラー情報を検索し、該当するデータが存在した
らエラーメツセージを出力する。
コンパイルリスト編集処理は、ソースプログラム4の終
了まで繰り返す。
〔発明の効果〕
以上説明したように本発明は、ソースプロクラムと中間
言語の行番号対応情報を生成することにより、中間言語
の構文エラーをソースプログラム上に出力し、コンパイ
ルリストを一本化できる効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例の構成説明図、第2図は行番
号対応情報の内容説明図、第3図は行番号情報生成出力
手段のフローチャート、第4図はリスト出力手段のフロ
ーチャート、第5図は従来技術の構成説明図である。 1・・・・・・ブリコンパイラ部、11.21・・・・
・・入力手段、12.22・・・・・・解析手段、13
・・・・・中間言語生成手段、14・・・・・・行番号
対応情報生成出力手段、15・・・・・・エラー情報生
成手段、16,25゜35・・・・・・リスト出力手段
、17.26・・・・・・ブリコンパイラコンパイルリ
スト、2・・・・・メインコンパイラ部、23・・・・
・・オブジェクト生成手段、24・・・・・・エラー情
報生成手段、3・・・・・・リスト出力部、31.34
・・・・・・エラー情報入力手段、32・・・・・・行
番号対応情報生成入力手段、33・・・・・・エラー情
報行番号修正手段、36.37・・・・・・リスト出力
部のメモリ上の領域、38・・・・・・コンパイルリス
ト、4・・・・・・ソースプログラム、5・・・・・・
中間言語、6・・・・・・オブジェクト、7.9・・・
・・・エラー情報、8・・・・・・行番号対応情報。

Claims (1)

  1. 【特許請求の範囲】 ソースプログラムを解析し中間言語を生成するプリコン
    パイラ部と、中間言語を解析しオブジェクトを生成する
    メインコンパイラ部よりなるコンパイラにおけるコンパ
    イルリスト出力装置において、 前記プリコンパイラ部で検出されたエラー情報Aを出力
    する手段と、 前記ソースプログラムと前記中間言語の行番号対応情報
    を生成出力する手段と、 前記メインコンパイラ部で検出されたエラー情報Bを出
    力する手段と、 前記エラー情報Bを入力する手段と、 前記行番号対応情報を入力する手段と、 該行番号対応情報に基づき前記エラー情報Bの行番号を
    修正する手段と、 前記エラー情報Aを入力する手段と、 前記エラー情報A及び前記エラー情報Bを前記ソースプ
    ログラムの該当する行位置に出力する手段とを有するコ
    ンパイルリスト出力装置。
JP1140617A 1989-06-02 1989-06-02 コンパイルリスト出力装置 Pending JPH036622A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1140617A JPH036622A (ja) 1989-06-02 1989-06-02 コンパイルリスト出力装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1140617A JPH036622A (ja) 1989-06-02 1989-06-02 コンパイルリスト出力装置

Publications (1)

Publication Number Publication Date
JPH036622A true JPH036622A (ja) 1991-01-14

Family

ID=15272875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1140617A Pending JPH036622A (ja) 1989-06-02 1989-06-02 コンパイルリスト出力装置

Country Status (1)

Country Link
JP (1) JPH036622A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100704494B1 (ko) * 2005-11-30 2007-04-09 주식회사 에이텍옵티컬 안경용 스프링 힌지

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100704494B1 (ko) * 2005-11-30 2007-04-09 주식회사 에이텍옵티컬 안경용 스프링 힌지

Similar Documents

Publication Publication Date Title
JPH08314728A (ja) ソースプログラムをオブジェクトプログラムに変換する方法および装置
JP3251203B2 (ja) Jclプログラム変換装置、jclプログラム変換方法、および、記録媒体
JPH036622A (ja) コンパイルリスト出力装置
JPH01307832A (ja) コンパイラの原始プログラムの文法誤り自動修正方式
JPH1185536A (ja) 原始プログラムのエラー自動修正装置及び方法
JP3584204B2 (ja) 原始プログラム自動変換装置
JP2942414B2 (ja) 仮想データベース方式
JP2725628B2 (ja) 再テストパス選択方式
JPH0736737A (ja) テストデータ作成方法
JPH0793144A (ja) プログラム解析装置
JP2558361B2 (ja) データ処理システム
JP2001125793A (ja) コンパイラシステム及びコンパイル方法並びに記録媒体
JPH11327887A (ja) 自動部品化機能付コンパイラシステムおよび記録媒体
JP2820104B2 (ja) 入力電文増幅装置および方法
JPH0695889A (ja) プログラム修正方式
JPH0269832A (ja) 式処理における定義演算子処理方式
JPH07152601A (ja) プログラム誤り検出方法および誤り検出装置
JPH01309125A (ja) メモリ内容監視・比較・検出方式
JPH01211121A (ja) 複数データベース記述を含む原始プログラムの翻訳方式
JPH0540638A (ja) 語彙解析編集方式
JPH0251739A (ja) ループ構造のコンパイル方式
JPH0431933A (ja) 原始プログラム解析装置
JPH05233259A (ja) エラーメッセージマージ処理方式
JPH045757A (ja) 表計算式自動判別方式
JPH0728671A (ja) テストカバレージ測定におけるソースプログラムの差分管理方式