JPS58169637A - Compile processing system - Google Patents

Compile processing system

Info

Publication number
JPS58169637A
JPS58169637A JP5285482A JP5285482A JPS58169637A JP S58169637 A JPS58169637 A JP S58169637A JP 5285482 A JP5285482 A JP 5285482A JP 5285482 A JP5285482 A JP 5285482A JP S58169637 A JPS58169637 A JP S58169637A
Authority
JP
Japan
Prior art keywords
language
assembler
error
list
assembler language
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
JP5285482A
Other languages
Japanese (ja)
Inventor
Shigeharu Hasu
蓮 重晴
Morio Ikesaka
守夫 池坂
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP5285482A priority Critical patent/JPS58169637A/en
Publication of JPS58169637A publication Critical patent/JPS58169637A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Abstract

PURPOSE:To ensure a quick compiling process, by carrying out simultaneously both an error correction of a high-class language part and error correction of an assembler language part. CONSTITUTION:A source program of a high-class language containing an assembler language is fed to a scanning part 3. A sentence structure analyzing part 4 analyzes a sentence structure, and a describing part of the assembler language is detected. An assemble language sentence processing part 7 checks errors of the assmebler language set into a high-class language and then delivers the error information onto a compiling list 10 via a list output part 9 in case an error is detected.

Description

【発明の詳細な説明】 (1)  発明の技術分野 本発明はコンパイル処理方式、q#にアセンブラ言語記
述を書き入れることができる電子計算機用高級言語のコ
ンビくイル処理方式に関するものである0 (2)  技術の背景 電子計算機は、「0」と「1」との組合せからなる機械
語命令を逐次フェッチして実行し所望のデータ処理を行
う。この機械語命令を記号化したレベルの言語としてア
センブラ言語がある0アセンブラ言語で記述し九プログ
ラムをアセンブラで処理することによって機械語命令の
目的プログラムが生成される。
DETAILED DESCRIPTION OF THE INVENTION (1) Technical Field of the Invention The present invention relates to a compile processing method, a combination compile processing method for a high-level language for electronic computers that can write an assembly language description in q#. ) Background of the Technology Electronic computers perform desired data processing by sequentially fetching and executing machine language instructions consisting of combinations of "0" and "1". There is an assembler language as a language at a level that encodes these machine language instructions.By writing the program in an assembler language and processing the program with the assembler, a target program of machine language instructions is generated.

一方、もつと人間が理解しやすいように作成された言語
として9例えばFORTRAN、C0BOL。
On the other hand, languages created to be easy for humans to understand9 include FORTRAN and COBOL.

PL/I  その他の高級言語があるO高級・言語で記
述されたプログラムは1通常コンパイラによってイクス
プリシットまたはインプリジットにアセンブラ言語に翻
訳され9.その後に機械語命令から、なる目的プログラ
ムが生成される。高級言語は、記述が容易で理解しやす
く、また汎用性があるなどの多くの利点をもつが1反面
、アセンブラ言H。
PL/I There are other high-level languages.O Programs written in high-level languages are 1 usually translated explicitly or implicitly into assembly language by a compiler9. After that, a target program is generated from the machine language instructions. High-level languages have many advantages such as being easy to write, easy to understand, and versatile, but on the other hand, assembly language H.

ようにハードウェアに密接に関連した命令を記述するこ
とは困難で1機能の点や実行速度に限界がある−という
問題がある。
There are problems in that it is difficult to write instructions that are closely related to hardware, and there are limits to a single function and execution speed.

そこで高級言語の中には、その中にアセンブラ言11に
よる記述を許し、一部に組み込んで書き入れることがで
きるようにし丸亀のが存在する。
Therefore, some high-level languages include Marugame's, which allows descriptions in assembly language 11 to be written by incorporating them into a part of the language.

(8)従来技術と問題点 従来、・アセンブラ言語を含む高級言語のコン7(イル
は以下のようになされてい友。
(8) Prior art and problems Conventionally, high-level language computers including assembler language have been implemented as follows.

第1図は従来のコンパイル処理方式の例を示す0II1
1図図示の如く、コンパイラはプログラムの高級言語部
分だけをコンパイルし、アセンブラ言語部分は全く処理
せず、高級言語部分のコン7くイル結果の中にそのiま
壇め込む。その結果できあがつたアセンブラ言語プログ
ラムを次にアセンブラに入力すれば目的プログラムが得
られることに・なる。しかし、このような従来の方式に
よれば、ソース・プログラムの高級言語部分に記述のエ
ラーがあれば、コンパイラが発見して、ラインプリンタ
等にエラーのリストを出力するが、アセンブラ言語部分
にエラーがあっても、コンパイラはアセンブラ言語部分
は全く内容を見立いのでエラーを発見しない0その後に
アセンブラを動かし九ときに、初めてエラーが発見され
ることとなる。
Figure 1 shows an example of a conventional compilation processing method.
As shown in Figure 1, the compiler compiles only the high-level language part of the program, does not process the assembly language part at all, and embeds it in the compilation result of the high-level language part. If the resulting assembler language program is then input into an assembler, the target program will be obtained. However, according to such conventional methods, if there is a writing error in the high-level language part of the source program, the compiler will discover it and output a list of errors to a line printer, etc., but if there is an error in the assembler language part, Even if there is a compiler, the compiler will not detect any errors because the compiler does not look at the contents of the assembler language part at all.The error will only be discovered when the assembler is run afterwards.

第2図は従来のエラー処理の例を示す0第2図図示の如
く、ソース・プログラムを作成して、それをコンパイル
するとアゼンブラ言語文ファイルとともにラインプリン
タ等にコン7くイル・リストが出力される。ユーザはそ
のリストを調べてエラーがあるかどうかをチェックする
。エラーがある場合には、高級言語部分の修正を行い再
度コン7(イルする。同様にエラーがなくなるまで処理
を繰り返し、エラーがなくなったならば、コン7(イラ
の出力したアセンブラ言語プログラムをもとにアセンブ
ルする。今度はアセンブル・リストによってアセンブラ
言m部分のエラーをチェックすることになる。エラーが
あれば、ソースプログラムのアセンブラ言語で記述した
部分を修正し、1+コンパイルから6還金繰り返す。
Figure 2 shows an example of conventional error handling.As shown in Figure 2, when a source program is created and compiled, a compile list is output to a line printer, etc. along with an assembler language statement file. Ru. The user examines the list to check for errors. If there is an error, correct the high-level language part and rerun the assembly language program output by Controller 7 (Ira). Repeat the process in the same way until the error disappears, and then rerun the assembler language program output by Controller 7 (Ira). This time, we will check the assembler list for errors in the assembler language part.If there are errors, we will correct the part written in the assembler language of the source program, and repeat 1+compilation and 6 refunds.

このように従来の方式によれば、エラー・チェックおよ
びエラー修正の手間札高級言語部分とアセンブラ言語部
分と別々に2重に必要となるので、非常に手数がかかる
という欠点カ監あつ九〇tた。アヤンブラの段階で発見
されるエラーは。
In this way, according to the conventional method, the high-level language part and the assembler language part of the error checking and error correction process are required separately and doubly, so the drawback is that it is extremely time-consuming. Ta. The errors discovered at the Ayambra stage are:

アセンブラ言語プログラムに対するエラー・リストとし
て出力されるので、ユーザにとっては読みに<<、かつ
ソース・プログラムとの対応7bx把握しにくい九めに
、エラーの発見が遅くなるだけでなく、ソース・プログ
ラムのエラー修正も難しいという欠点もあった。
Since it is output as an error list for the assembler language program, it is difficult for the user to read and understand the correspondence with the source program. Another drawback was that it was difficult to correct errors.

エラー修正をソース・プログラムでなくアセンプ゛う言
語プログラムで行うことも考えられるpX。
It is also possible for pX to correct errors using an assemble language program rather than a source program.

これではソース・プログラムにエラーが残ってしまうの
で好しくない。・ (4)発明の目的 本発明は上記問題点の解決を図り、高級言語部分のエラ
ー修正とアセンブラ言語部分のエラー修正とを同時にで
きるようにし、迅速なコン7くイル処理を可能にするこ
とを目的としている。
This is not desirable because errors will remain in the source program. - (4) Purpose of the Invention The present invention aims to solve the above-mentioned problems, and enables error correction in the high-level language part and error correction in the assembler language part at the same time, thereby enabling quick compilation processing. It is an object.

(15)  発明の構成 上記目的達成のため9本発明はソース・プログラムのア
センブラ言語部分についてもコンノ々イラがエラー・チ
ェックを行うようにしたものである。
(15) Structure of the Invention In order to achieve the above object, the present invention is such that the controller also performs error checking on the assembler language portion of the source program.

すなわち1本発明のコン7くイル処理方式は、アセンブ
ラ言語t−’j oグラムの中に組み込んで記述できる
ようにされたデータ処理装置における高級言語のコンパ
イル処理方式において、少なくともアセンブラ言語を含
む高級言語のソースプログラムを入力する走査部と、該
走査部が入力し喪上記ソースプログラムの構文を解析し
アセンブラ言語記述部分を検出する構文解析部と、・該
構文解析部によって起動され上記高級言語に組み込まれ
たアセンブラ言語についての記述エラーチェックを行う
アセンブラ言語文処理部と、′該アセンブラ言語文処理
部が記述エラーを検出し九場合にそのエラー情報をコン
パイル・リスト上に出力するリスト出力部とをそなえ、
上記高級言語のコンパイル時にアセンブラ言語部分のエ
ラーがチェックされるようにしたことt−特徴としてい
る0以下9図面を参照しつつ実施例にもとづいて説明す
る。
In other words, the compiling processing method of the present invention is a compiling processing method for a high-level language in a data processing device that can be embedded and described in an assembler language t-'jo-gram. a scanning unit that inputs a language source program; a syntax analysis unit that analyzes the syntax of the source program input by the scanning unit and detects an assembler language description part; an assembler language statement processing unit that performs a description error check for the incorporated assembler language; and a list output unit that outputs error information on a compile list when the assembler language statement processing unit detects a description error. Equipped with
The present invention will be described based on an embodiment with reference to the drawings, which is characterized in that errors in the assembler language part are checked when compiling the high-level language.

(6)発明の実施例 第3図は本発明の一実施例構成、第4図は本発明に係る
コンパイル処理の説明図、第5図はアセンブラ言語文処
理部の処理説明図、第6図はコード変換出力部の処理説
明図を示す0 図中、1はコンパイラであって、アセンブラ言語記述を
含む高級言l!をアセンブラ言語文にエラー〇チェック
行いつつ翻訳する4の、2はアセンブラ言語記述を含む
高級言語のソース・プログラムが格納されたソース−プ
ログラム・ファイル。
(6) Embodiment of the Invention Fig. 3 shows the configuration of an embodiment of the invention, Fig. 4 is an explanatory diagram of the compiling process according to the invention, Fig. 5 is an explanatory diagram of the processing of the assembler language sentence processing section, and Fig. 6 0 shows a processing explanatory diagram of the code conversion output unit. In the figure, 1 is a compiler, and a high-level language l! that includes an assembler language description is shown. 4, 2 is a source program file in which a high-level language source program including an assembler language description is stored.

3は走査部であってソース・iプログラム・ファイル2
からソース・プログラムを順次読出す処理を行うもの、
4は構文解析部であって走査部3が貌出し九ソース拳プ
ログツムのステートメントの構文解析を行うもの、5は
意味分析部であって高級言語部分の意味を分析するとと
もに高級言語部分のエラーを検出するもの、6は意味分
析部5が分析し九結果にもとづいてアセンブラ言−に翻
訳するための内部コードを生成する内部コード生成部。
Reference numeral 3 denotes a scanning section, which is a source i-program file 2.
One that performs the process of sequentially reading source programs from
Reference numeral 4 denotes a syntactic analysis unit, in which the scanning unit 3 parses the syntax of the statements of the Kobashi-Kyusauken program; and 5, a semantic analysis unit, which analyzes the meaning of the high-level language part and detects errors in the high-level language part. What is detected is an internal code generation unit 6 which generates an internal code to be analyzed by the semantic analysis unit 5 and translated into assembler language based on the results.

7はアセンブラ言語文処理部であって、高級言語に組込
まれたアセンブラ言語文についてエラーをチェックし、
エラーがない場合に結果tアセンブラ言語文ファイルに
出力するもの、8は高級言語部分については内部コード
生成部が生成し九内部コードに従ってアセンブラ言語文
を作成し、tたアセンブラ言語部分についてはアセンブ
ラ言語文ファイルから読込んでコンパイル処理の結果の
アセンブラ言mt出カフアイルに出力するコード変換出
力部、9はコンパイル処理の結果のコンパイル・リスト
をエラー情報とともに出力するリスト出力部、10はラ
インプリンタ゛等に出力され九プンパイル・リスト、1
1はアセンブラ言語プ四グラムへの変換結果が格納され
る出力ファイル。
7 is an assembler language sentence processing unit that checks errors in assembler language sentences incorporated in the high-level language;
If there is no error, the result t is output to an assembler language statement file, 8 is a high-level language part generated by the internal code generator, 9 is an assembler language statement created according to the internal code, and t is an assembler language statement for the assembler language part. 9 is a code conversion output section that reads from a statement file and outputs the assembly language result of compilation processing to an mt output file; 9 is a list output section that outputs a compilation list of compilation processing results along with error information; 10 is a line printer, etc. Output nine pun pile list, 1
1 is an output file in which the results of conversion to an assembler language program are stored.

12はアセンブラ言語記述部分がそのtt格納される作
業ファイルとして用いられるアセンブラ言語文ファイル
を表わす。
Reference numeral 12 represents an assembler language sentence file used as a work file in which the assembler language description portion is stored.

次に第4図ないし第6図に従ってコンパイラ1の処理に
ついて説明する。
Next, the processing of the compiler 1 will be explained according to FIGS. 4 to 6.

第4図において、ソース拳プログラムのファイル名が指
足されてコンパイラが起動されると、tず構文解析部4
に制御が移行する。構文解析部4は、第4図図示処理2
0によってバッファの確保。
In FIG. 4, when the file name of the source program is added and the compiler is started, the tzu syntax analysis unit 4
Control is transferred to The syntax analysis unit 4 performs the illustrated processing 2 in FIG.
Reserve a buffer with 0.

内部制御表の初期設定等の初期設定処理を行い。Performs initial setting processing such as initial setting of internal control table.

処理21によって走査部3を起動する。走査部3はソー
ス・プログラム・ファイルをオープンし。
The scanning unit 3 is activated by process 21. The scanning unit 3 opens the source program file.

処理22によってソース・プログラムを読込み。The source program is read by process 22.

1ステートメント毎に構文解析部4の構文解析処理部2
3に引渡す。構文解析処理部23は構文を解析し、解析
したステートメントがアセンブラ言語文であるか、高級
言語文の宣言文tたは実行文であるか、tたはプログラ
ムの終了を示すものなどの判断を行う。
Syntax analysis processing unit 2 of syntax analysis unit 4 for each statement
Hand over to 3. The syntax analysis processing unit 23 analyzes the syntax and determines whether the parsed statement is an assembly language statement, a declaration statement t or an executable statement of a high-level language statement, and whether t indicates the end of the program. conduct.

アセンブラ言語文であれば処理24によって。If it is an assembler language sentence, use process 24.

アセンブラ言語文処理部7を起動する。アセンブラ言語
文処理部7は処理28によって、第5図を用いて後述す
る如くアセンブラ言語文のエラー・チェックなどを行う
。処理が終了したならば、構文解析部4に通知され、処
理29によってリスト出力部9が起動される。リスト出
力部9はアセンブラ言語文処理部7の処理結果、特にエ
ラーがあればその情報等をコンパイル・リストに出・力
する0次に処理21によって走査部3が起動され1次の
ステートメントが構文解析部4に引渡される。
The assembler language sentence processing unit 7 is activated. The assembler language sentence processing unit 7 performs error checking of the assembler language sentence through process 28, as will be described later with reference to FIG. When the process is completed, the syntax analysis unit 4 is notified, and the list output unit 9 is activated in process 29. The list output section 9 outputs the processing results of the assembler language statement processing section 7, especially information on errors if there are any, to the compile list.Next, the scanning section 3 is activated by the processing 21, and the first statement is syntaxed. It is handed over to the analysis section 4.

構文解析処理の結果、宣言文が検出されたならば、処理
25によって意味分析部5を起動するO意味分析部5は
処理31によってコン7(イル処理用の情報を収集する
。また、実行文が検出され九ならば、処理26によって
同様に意味分析部5を起動し、意味分析部5は処理32
によって文の意味を解釈するO内容が正しければ、内部
ブード生成部6を起動し、内部コード生成部6は処理3
3によって実行文をアセンブラ言語に展開するための内
部コードを生成する。上記処理31ま九は処理33が終
了したならば、処理29を経由し、すスト出力部9によ
ってコンパイル・リスト出力処理30が行われる。
As a result of the syntax analysis process, if a declarative sentence is detected, the semantic analysis unit 5 is activated in process 25.The semantic analysis unit 5 collects information for the compiler 7 (file process) in process 31. is detected and is 9, the semantic analysis unit 5 is activated in the same way through process 26, and the semantic analysis unit 5 executes process 32.
Interpret the meaning of the sentence by
3 generates internal code for expanding the executable statement into assembler language. After the process 33 is completed, the compile list output process 30 is performed by the output section 9 via the process 29.

なお、構文解析処理部23によってエラーが検出された
場合には、処理29によって直ちにリスト出力部5が起
動され、コンパイル・リスト上にエラー情報が出方され
る。
Note that if an error is detected by the syntax analysis processing section 23, the list output section 5 is immediately activated in process 29, and error information is displayed on the compile list.

同様にプログラムの終了が検出されるまで処理が繰り返
され、プログラムの終了が検出されたならば、処理27
によってコード変換出方部8が起動される。コード変換
出方部8は第6図を用いて後述する如く、処理34によ
ってコード変換出方を行う。以上で、すべてのコンパイ
ル処31 カ! 了する。
Similarly, the process is repeated until the end of the program is detected, and if the end of the program is detected, process 27
The code conversion output unit 8 is activated by this. The code conversion output section 8 performs code conversion and output through processing 34, as will be described later with reference to FIG. That's all 31 compilations! Complete.

アセンブラ言語文処理部7は、起動されたならば第5図
図示の如く処理する。まず、第5図図示処理40によっ
て、ソース・プログラム・ファイルからアセンブラ言語
文のソース・プログラムを読込む。次に処理41によっ
てエラー・チェックを次のようにして行う。
Once activated, the assembly language sentence processing section 7 processes as shown in FIG. First, by the process 40 shown in FIG. 5, a source program of assembler language statements is read from a source program file. Next, in process 41, error checking is performed as follows.

まず、アセンブラ言語の簡単な構文解析のために、オペ
レーション・コードやオペランドなどを1個ずつ分けて
識別する。特に、オペランドについては、アセンブラ言
語の予約語かどうか、高級言語の変数名であるかどうか
の識別を行う。高級言語の変数名で配列のときには、添
字の範囲を逸脱していないかどうかなどの配列の添字チ
ェックについても行う。例えば9分岐命令について飛先
ラベルが用いられている場合には、その飛先ラベルが宣
言されているものがどうかのラベルオペランドのチェッ
クを行う。サブルーチン名のオペランドについても同様
にサブルーチン名が宣言されているものかどうかのチェ
ックを行う。もし、上記のようなエラー・チェックによ
って、エラーが検出されたならば、ソース・プログラム
の内容とともにエラー情報をリスト出力部9に通知し、
高級言語部分のエラ下情報と同様にリスト出方をするよ
うに処理する。
First, for easy syntax analysis of the assembler language, operation codes and operands are identified one by one. In particular, for operands, it is determined whether they are reserved words in an assembler language or variable names in a high-level language. When a variable name in a high-level language is an array, the subscripts of the array are also checked to see if they are outside the subscript range. For example, if a jump destination label is used for a 9-branch instruction, the label operand is checked to see if the jump destination label is declared. Similarly, the subroutine name operand is checked to see if the subroutine name has been declared. If an error is detected by the above error check, the error information is notified to the list output unit 9 along with the contents of the source program,
It is processed so that it appears in a list in the same way as the error information in the high-level language part.

次に処理42によって、解析したアセンブラ言語文をア
センブラ言語文ファイルに書込んで、処理43によって
、アセンブラ言語文の終りかどうかを判定し、まだ終り
でないときには同様に処理40から処理42までを繰返
す。終りの場合には構文解析部4に制御を戻してアセン
ブラ言語文の処理を終了する。
Next, in process 42, the analyzed assembler language sentence is written to an assembler language sentence file, and in process 43, it is determined whether or not the assembler language sentence has ended, and if it is not yet the end, processes 40 to 42 are similarly repeated. . In the case of the end, control is returned to the syntax analysis unit 4 to end the processing of the assembly language sentence.

コード変換出力部8は、第6図図示の如く処理する。ま
ず処理44によって、内部コード生成部6が生成した内
部)コードを解析する。処理45によって、内部コー”
ドが終了したかどうかを判定し。
The code conversion output unit 8 processes as shown in FIG. First, in process 44, the internal code generated by the internal code generation unit 6 is analyzed. By processing 45, the internal code is
Determine whether the code has finished.

終了していないときには、処理46によってアセンブラ
言語文かどうかを判定する。アセンブラ言語文でないと
きには、処理47によって内部コードをアセンブラ言語
に変換する。アセンブラ言語文のときには、処理48に
よってアセンブラ言語文ファイルからアセンブラ言語文
を読込む。そして、処理47または処理48の結果を、
処理49によって出力ファイルに書入れ、処理44に戻
って、内部コードが終るまで同様に処理を繰シ返す。
If the sentence has not been completed, it is determined in step 46 whether the sentence is an assembler language sentence. If it is not an assembler language sentence, the internal code is converted into assembler language in step 47. In the case of an assembler language sentence, processing 48 reads the assembler language sentence from the assembler language sentence file. Then, the result of process 47 or process 48 is
Process 49 writes to the output file, returns to process 44, and repeats the same process until the internal code is finished.

処理45によって、内部コードの終りが検出されたなら
ばコンパイル処理を終了する。
If the end of the internal code is detected in step 45, the compiling process ends.

第7図はエラーのあるプログラムの例、第8図は第7図
図示プログラムのコンパイル・リストの例を示す。
FIG. 7 shows an example of a program with an error, and FIG. 8 shows an example of a compile list of the program shown in FIG.

第7図に図示し九プログラムは、アセンブラ言*’を含
む高級言語で記述されたプログラムの例である。ここで
、I!8行目の[@A8MSTART Jの文と第13
行目の[$A8MBNDJ の文で囲まれた第9行目か
ら第12行目までの部分がアセンブラ言語で記述されて
いる部分である。第12行目のアセンブラ言語文の第2
オペランドは1−IOUTJとすべきところt−[IO
[JRJ  と間違えて記述しているので、  [l0
URJは未定義となっている。
The nine programs shown in FIG. 7 are examples of programs written in a high-level language including assembly language *'. Here, I! Line 8 [@A8MSTART J sentence and 13th
The part from the 9th line to the 12th line surrounded by the sentence [$A8MBNDJ] is the part written in the assembler language. The second assembler language statement on line 12
The operand should be 1-IOUTJ, but t-[IO
[JRJ is written incorrectly, so [l0
URJ is undefined.

このようなプログラムを本発明の方式によってコンパイ
ルすると、第8図図示の如きコンパイル・リストが出力
される。すなわち、第12行目のアセンブラ言語記述内
のエラーに対して9次の2行に示されるようなエラー・
リストが出力されることとなるので、ユーザはアセンブ
ラを走行させることなく、コンパイラを走行させるだけ
でアセンブラ言語部分のエラーも検知することができる
こととなる。
When such a program is compiled according to the method of the present invention, a compile list as shown in FIG. 8 is output. In other words, for an error in the assembler language description on line 12, an error like the one shown on the next two lines
Since a list is output, the user can detect errors in the assembler language part simply by running the compiler without running the assembler.

(7)発明の詳細 な説明した如く、従来の方式によればアセンブラ言語部
分にエラーがあったときには、アセンブラの段階で7セ
ンプル・リストを出力させて。
(7) As described in the detailed description of the invention, according to the conventional method, when an error occurs in the assembler language part, a 7-sample list is output at the assembler stage.

エラーを調べなければならないのに対し9本発明によれ
ば、コンパイル時に工、ラーの原因を発見できるので早
期にエラー修正を行うことができるようになる。また、
アセンブル・リストはコンパイル−リストに比べて非常
に長いものとなり、ソース・プログラムとの対応がつか
みにくいが1本発明によれば、ユーザが記述したソース
φプログラムそのttのリストによってエラー情報を検
出でき。
In contrast to having to investigate errors, according to the present invention, the cause of errors can be discovered during compilation, making it possible to correct errors at an early stage. Also,
The assemble list is much longer than the compile list, and it is difficult to grasp the correspondence with the source program; however, according to the present invention, error information can be detected from the list of the source φ program written by the user. .

エラーの発見や修正が極めて容島になる。特に。Finding and correcting errors becomes extremely difficult. especially.

アセンブル・リストの出力が不要となることから資源の
節約にもなる。
Resources can also be saved since there is no need to output an assembly list.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は従来のコンパイル処理方式の例、第2図は従来
のエラー処理の例、第3図線本発明の一実施例構成、第
4図は本発明に係るコンパイル処理の説明図、第5図は
アセンブラ言語文処理部の処運説明図、第6図はコード
変換出力部の処理説明図、第7図はエラーのあるプログ
ラムの例、第8図は第7図図示プログラムのコンパイル
Φリストの例を示す。 ・図中、1はコンパイラ、2はソース・プログラム・フ
ァイル、3は走査部、4は構文鱗析部、7はアセンブラ
言語文処理部、9はリスト出力部。 10Fiコンパイル・リストを表わす。 特許用原人 富士通株式会社 代1人弁理士  森 1)  寛 ・(外1名)す1圓 制御二□ 才S圓         すC閃
FIG. 1 is an example of a conventional compilation processing method, FIG. 2 is an example of a conventional error handling method, FIG. 3 is a diagram illustrating the configuration of an embodiment of the present invention, and FIG. Figure 5 is an explanatory diagram of the processing of the assembler language statement processing unit, Figure 6 is an explanatory diagram of the processing of the code conversion output unit, Figure 7 is an example of a program with an error, and Figure 8 is a compilation diagram of the program shown in Figure 7. Here is an example of a list. - In the figure, 1 is a compiler, 2 is a source program file, 3 is a scanning section, 4 is a syntax analysis section, 7 is an assembly language sentence processing section, and 9 is a list output section. Represents the 10Fi compile list. Original person for patents 1 patent attorney for Fujitsu Ltd. Mori 1) Hiroshi (1 other person)

Claims (1)

【特許請求の範囲】[Claims] アセンブラ言語をプログラムの中に組み込んで記述でき
るようにされたデータ処理装置における高級言語のコン
パイル処理方式において、少なくともアセンブラ言語を
含む高級言語のソースプログラムを入力する走査部と、
咳走査部が入力し友上記ソースプログラムの構文を解析
しアセンブラ言語記述部分を検出する構文解析部と、咳
構文鱗析部によって起動され上記高級言語に組み込まれ
九アセンプツ言語についての記述エラーチェックを行う
アセンブラ言語文処理部と、該アセンブラ言語文処理部
が記述エラーを検出し九場合にそのエラー情報をコンパ
イルΦリスト上に出力するリスト出力部とをそなえ、上
記高級言語のコンパイル時にアセンブラ言語部分のエラ
ーがチェックされるようにしたことを特徴とするコンパ
イル処理方式。
In a high-level language compilation processing method in a data processing device capable of writing an assembly language embedded in a program, a scanning unit inputs a high-level language source program including at least an assembly language;
The scanning unit analyzes the syntax of the above source program as input and detects the assembler language description part, and the syntax analysis unit starts it and checks for errors in the description of the assembly language incorporated into the high-level language. and a list output section that outputs the error information on the compilation Φ list when the assembler language statement processing section detects a description error. A compilation processing method characterized by checking for errors.
JP5285482A 1982-03-31 1982-03-31 Compile processing system Pending JPS58169637A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5285482A JPS58169637A (en) 1982-03-31 1982-03-31 Compile processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5285482A JPS58169637A (en) 1982-03-31 1982-03-31 Compile processing system

Publications (1)

Publication Number Publication Date
JPS58169637A true JPS58169637A (en) 1983-10-06

Family

ID=12926437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5285482A Pending JPS58169637A (en) 1982-03-31 1982-03-31 Compile processing system

Country Status (1)

Country Link
JP (1) JPS58169637A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61131131A (en) * 1984-11-30 1986-06-18 Hitachi Ltd Program editing system
JP2013191038A (en) * 2012-03-14 2013-09-26 Ricoh Co Ltd Embedding program developing device, compilation method, and compiler program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61131131A (en) * 1984-11-30 1986-06-18 Hitachi Ltd Program editing system
JP2013191038A (en) * 2012-03-14 2013-09-26 Ricoh Co Ltd Embedding program developing device, compilation method, and compiler program

Similar Documents

Publication Publication Date Title
EP0905617B1 (en) Method for generating a java bytecode data flow graph
US5586328A (en) Module dependency based incremental compiler and method
US6412109B1 (en) Method for optimizing java bytecodes in the presence of try-catch blocks
US6434742B1 (en) Symbol for automatically renaming symbols in files during the compiling of the files
US8448152B2 (en) High-level language, architecture-independent probe program compiler
JPH04247536A (en) Computer software compile system assisting discrimination of data type at time of execution of object
JP2000181725A (en) Method and system for altering executable code and giving addition function
US6314557B1 (en) Hybrid computer programming environment
JPH0748182B2 (en) Program error detection method
AU638999B2 (en) Incremental compiler for source-code development system
KR0125605B1 (en) Method and device for verifying operation of machine language program
Stepney Incremental development of a high integrity compiler: experience from an industrial development
JPS58169637A (en) Compile processing system
Lopez-Rojas OMCCp: A MetaModelica Based Parser Generator Applied to Modelica
JPH11110256A (en) Device and method for debugging program, and computer readable recording medium recorded with the method for the same
JP3368795B2 (en) Compilation control method, compilation device, and recording medium
JP2005301415A (en) Compile system, simulator, emulator, and program development supporting system
Meinicke et al. Tool Support for Product-Line Maintenance
JP3018783B2 (en) Compilation method
JP3424596B2 (en) Method and apparatus for caching symbol reference information
Cok Does your software do what it should?
JPH10312312A (en) Inspecting method for computer program of c language changing in operation with specifications and program storage medium
Inostroza et al. Modular interpreters for the masses
JPH1083311A (en) Simulator
JPH02100732A (en) Program grammar checking system