JPH0228837A - コンパイル範囲指定方式 - Google Patents

コンパイル範囲指定方式

Info

Publication number
JPH0228837A
JPH0228837A JP17817588A JP17817588A JPH0228837A JP H0228837 A JPH0228837 A JP H0228837A JP 17817588 A JP17817588 A JP 17817588A JP 17817588 A JP17817588 A JP 17817588A JP H0228837 A JPH0228837 A JP H0228837A
Authority
JP
Japan
Prior art keywords
range
source program
compilation
analysis means
lexical
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
JP17817588A
Other languages
English (en)
Inventor
Hiroshi Oyama
大山 博
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 Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP17817588A priority Critical patent/JPH0228837A/ja
Publication of JPH0228837A publication Critical patent/JPH0228837A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はディジタル計算機用のコンパイラに関し、特に
、コンパイル範囲指定方式に関する。
〔従来の技術〕
従来、この種のコンパイラは、高級プログラミング言語
で記述されたソースプログラムの文字を走査してそれら
の文字を字句として解析する字句解析手段と、この字句
解析手段により解析された字句を構文構造にまとめる構
文解析手段と、この構文解析手段により作り出された構
造を用いて目的とするコード全生成するコード生成手段
と9字句解析手段および構文解析手段とにより収集され
たソースプログラム内に現われる名標の名前やその属性
に関する名標情報を保持する名標情報保持手段とによっ
て構成され。
無条件にソースプログラムの全体をコンパイルしオブジ
ェクトプログラムを出力するようになっていた。
〔発明が解決しようとする課題〕
上述した従来のコンパイラは、ソースプログラムの任意
の一部分のみをコンパイルすることはできず、無条件に
ソースプログラム全体をコンパイルしてしまうため、プ
ログラム開発に際して、他の目的・用途のために作成さ
れた既存のソースプログラムの一部をそのまま流用する
場合には、エディタで既存のソースプログラムを修正し
、必要な部分だけを残して新規のソースプログラムとし
て作成する必要がある。これは、全く同一のロジックを
含むソースプログラムが複数個存在することを許すこと
にな9.資源効率上問題を持つという欠点がある。
〔課題を解決するだめの手段〕
本発明によるコンパイル範囲指定方式は、高級プログラ
ミング言語で記述されたソースプログラムをコンパイル
してオブジェクトプログラムを生成するコンパイラにお
いて。
ソースプログラム内で文法的にまとまった範囲を表現す
る名標が指定された場合、指定されたコンパイル範囲全
認識し、何も指定されなかった場合、既定のコンパイル
範囲としてソースプログラム全体をとるコンパイル範囲
認識手段と。
コンパイル範囲認識手段により認識されたコンパイル範
囲に従って2字句解析手段および構文解析手段を制御す
るコンパイル範囲制御手段とを有している。
〔実施例〕
次に1本発明について図面を参照して詳細に説明する。
第1図を参照すると2本発明の一実施例は。
ソースプログラム1と、コンパイラ2と、オブジェクト
プログラム10とから構成される。さらに、コンパイラ
2は、コンパイル範囲認識手段3と、コンパイル範囲制
御手段4と9字句解析手段5と、構文解析手段6と、コ
ード生成手段7と7名標情報8と1名標情報保持手段9
とを有する。
コンパイル範囲認識手段6は、コンパイラ2の使用者が
ソースプログラム1内で文法的にまとまった範囲を表現
する名標を指定した場合に。
その指定された文法的にまとまった範囲および関連する
データブロックの範囲をコンパイル範囲として認識する
。コンパイラ2の使用者が。
特に何も指定しない場合は、既定のコンパイル範囲とし
てソースプログラム1の全体がとられる。
コンパイル範囲制御手段4は、コンパイル範囲認識手段
3によって認識されたコンパイル範囲に従って9字句解
析手段5および構文解析手段6を制御する。
字句解析手段5は、ソースプログラム1の文字を走査し
てそれらの文字を字句として解析する。構文解析手段6
は9字句解析手段5によって得られた字句を構文構造に
まとめる。名標情報保持手段9は1字句解析手段5と構
文解析手段乙によって収集されたソースプログラム1中
に出現する名標の名前や属性に関する名標情報8を保持
する。コード生成手段7は、構文解析手段乙によって作
り出された構文構造を用いて。
名標情報保持手段9により保持されている名標情報8を
参考にしながら目的とするコードをオブジェクトプログ
ラム10内に生成する。
次に本実施例の全体的な動作を具体的に説明する。
ソースプログラム1の内容の一例を第2図に示す。この
場合、ソースプログラム1には、外部データブロックD
I、およびそれぞれABC。
PQR,XYZという手続き名で表現されている文法的
にまとまった手続きPl、P2.P3が記述されている
とする。
コンパイラ2の使用者が特に何も指定しないでソースプ
ログラム1をコンパイルしようとする場合、コンパイル
範囲認識手段6は、コンパイル範囲を既定の範囲、すな
わちソースプログラム1の全体として認識し、コンパイ
ル範囲制御手段4は、ソースプログラム1の全体を処理
するよう1字句解析手段5.および構文解析手段6を制
御する。以後は、従来のコンパイラと同様に1字句解析
手段5.構文解析手段6.コード生成手段7が動作し、
第2図に示されたソースプログラム1の外部データブロ
ック、手続きABC,手続きPQ、R,手続きXYZの
すべてがコンパイルされてオブジェクトプログラム10
が出力される。
一方、コンパイラ2の使用者が1例えば第2図の手続き
名PQR’ii指定してコンパイルしようとする場合、
コンパイル範囲認識手段3は。
コンパイル範囲を第2図の外部データブロックD1と手
続き名PQRによって表現される手続きP2’jz合わ
せた範囲として認識する。コンパイル範囲制御手段4は
9字句解析手段5および構文解析手段6が第2図の外部
データブロックD1と手続き名PQRによって表現され
る手続きP2を合わせた範囲においてのみ動作するよう
制8を行なう。具体的には1字句解析手段5によって読
み込まれたソースプログラム1内の字句がコンパイル範
囲である外部データブロックD1もしくは手続きP2の
内部にあるかどうかを構文解析手段6によって識別し、
コンパイル範囲内にあるときは通常のコンパイル処理。
すなわち名標情報8を収集して名標情報保持手段9によ
り保持したり、コード生成手段7により目的とするコー
ドを生成したシするようにする。もし、コンパイル範囲
の内部にないときは。
コンパイル範囲制御手段4は1通常のコンパイル処理を
行わないようにする。
以上の処理により、コンパイラ2の使用者は手続き名P
QR’iz指定することによって、第2図の外部データ
ブロックD1と手続きP2を合わせた範囲だけをコンパ
イルしたオブジェクトプログラム10を得ることができ
る。
〔発明の効果〕
以上説明したように本発明は、コンパイラ使用者がソー
スプログラム内で文法的にまとまった範囲を表現する名
標を指定することにより。
ソースプログラムの内の指定された文法的にまとまった
範囲と関連するデータブロックのみをコンパイルしてオ
ブジェクトプログラムを得ることが可能になるので、既
存のソースプログラムの一部をそのまま応用するのにわ
ざわざエディタを用いて新規にソースプログラムを作成
する必要がなくなシ、資源効率も向上する。
【図面の簡単な説明】
第1図は本発明が適用されるコンパイラの構成を表わす
ブロック図、第2図はソースプログラムの一例を示した
図である。 1・・・ソースプログラム、2・・・コンパイラ。 6・・・コンパイル範囲認識手段、4・・・コンパイル
範囲制御手段、5・・・字句解析手段、6・・・構文解
析手段、7・・・コード生成手段、8・・・名標情報。 9・・・名標情報保持手段、10・・・オブジェクトプ
ログラム。

Claims (1)

  1. 【特許請求の範囲】 1、高級プログラミング言語で記述されたソースプログ
    ラムの文字を走査してそれらの文字を字句として解析す
    る字句解析手段と、該字句解析手段により解析された字
    句を構文構造にまとめる構文解析手段と、該構文解析手
    段により作り出された構造を用いて目的とするコードを
    生成するコード生成手段と、前記字句解析手段および前
    記構文解析手段とにより収集されたソースプログラム内
    に現われる名標の名前やその属性に関する名標情報を保
    持する名標情報保持手段とを有し、ソースプログラムを
    コンパイルしてオブジェクトプログラムを生成するコン
    パイラにおいて、 ソースプログラム内で文法的にまとまった範囲を表現す
    る名標が指定された場合、指定されたコンパイル範囲を
    認識し、何も指定されなかった場合、既定のコンパイル
    範囲としてソースプログラム全体をとるコンパイル範囲
    認識手段と、該コンパイル範囲認識手段により認識され
    たコンパイル範囲に従って、前記字句解析手段および前
    記構文解析手段を制御するコンパイル範囲制御手段とを
    有し、 ソースプログラム内の文法的にまとまった範囲を表現す
    る名標が指定されると、ソースプログラムのうち、その
    文法的にまとまった範囲と関連するデータブロックのみ
    をコンパイルしてオブジェクトプログラムを出力し、何
    も指定されない時は、ソースプログラムの全体をコンパ
    イルしオブジェクトプログラムを出力することを特徴と
    するコンパイル範囲指定方式。
JP17817588A 1988-07-19 1988-07-19 コンパイル範囲指定方式 Pending JPH0228837A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17817588A JPH0228837A (ja) 1988-07-19 1988-07-19 コンパイル範囲指定方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17817588A JPH0228837A (ja) 1988-07-19 1988-07-19 コンパイル範囲指定方式

Publications (1)

Publication Number Publication Date
JPH0228837A true JPH0228837A (ja) 1990-01-30

Family

ID=16043919

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17817588A Pending JPH0228837A (ja) 1988-07-19 1988-07-19 コンパイル範囲指定方式

Country Status (1)

Country Link
JP (1) JPH0228837A (ja)

Similar Documents

Publication Publication Date Title
US10042637B1 (en) Computerized software development environment including customized presentation of source code
US6877155B1 (en) System and method for generating target language code utilizing an object oriented code generator
CN101650651B (zh) 一种源代码级别程序结构的可视化方法
JPH08202545A (ja) ターゲット言語コードを生成するためのオブジェクト指向システム及びその方法
JPH03235126A (ja) 自然言語を使用してウィンドウシステムをプログラムする方法
CN114398039A (zh) 一种自动细粒度的两级并行翻译方法
Neumann Application of explanation-based learning for efficient processing of constraint-based grammars
US5560015A (en) Compiler and method of compilation
JPH0228837A (ja) コンパイル範囲指定方式
JP5399601B2 (ja) 実装コード開発システム、及び実装コード開発プログラム
JP2718427B2 (ja) 大規模知識ベースにおけるデータアクセス方式
CN109814869B (zh) 应用于机器人的解析方法、系统及计算机可读存储介质
JPH07121379A (ja) 複数言語混在コンパイラ
KR20000031432A (ko) 절차지향 프로그램을 객체지향 프로그램으로 변환하기 위한분석 방법
Costagliola Extended Positional Grammars: A Formalism for Describing and Parsing Visual Languages
JPH0683630A (ja) プログラム自動変換装置
JPS6074039A (ja) コンパイル言語認識処理方式
Diviánszky et al. Detaching and Reconstructing the Documentary Structure of Source Code
Babich et al. An approach to compiler construction for a general-purpose simulation language
JPH05181652A (ja) プログラムリバース装置
Backofen et al. Report of the EAGLES Workshop on Implemented Formalisms at DFKI, Saarbrücken
Triance et al. A Language Enhancement Facility for COBOL–its Design and Implementation
JPS6386031A (ja) プログラム生成装置
Marciano An algebraic approach to parallel program development
JPH0561687A (ja) コンパイラの処理方式