JPS6373475A - 二次元プログラム言語構造解析処理方式 - Google Patents

二次元プログラム言語構造解析処理方式

Info

Publication number
JPS6373475A
JPS6373475A JP61218565A JP21856586A JPS6373475A JP S6373475 A JPS6373475 A JP S6373475A JP 61218565 A JP61218565 A JP 61218565A JP 21856586 A JP21856586 A JP 21856586A JP S6373475 A JPS6373475 A JP S6373475A
Authority
JP
Japan
Prior art keywords
code
analysis
pattern
data
dimensional
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
JP61218565A
Other languages
English (en)
Inventor
Kanji Ito
伊藤 完治
Koichi Onoda
小野田 公一
Koichi Murata
光一 村田
Masato Masuda
増田 眞人
Hiroyuki Akamatsu
弘之 赤松
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 JP61218565A priority Critical patent/JPS6373475A/ja
Publication of JPS6373475A publication Critical patent/JPS6373475A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 図形パターンを構造の表記に用いる二次元プログラム言
語の言語仕様によって記述されたプログラムを解釈する
にあたって5プログラム構造、制御構造、データ構造等
を表記するパターンを細分化し、操作指示部と指示対象
部と結果指定部とをエントリに含む構造解析テーブルに
、構造を決定するパターンに含まれる各基本パターンを
グループ化して登録しておき、この構造解析テーブルを
ハンドリングすることにより、構造の解析を容易に行う
ことができるようにし、かつ解釈の自由度を拡大するこ
とを可能としている。
〔産業上の利用分野〕
本発明は1図形パターンを構造の表記に用いる二次元プ
ログラム言語の言語仕様によって記述されたプログラム
を解釈し、より低レベルの目的言語に翻訳する処理シス
テムにおいて、構造の解析を容易に行うことができるよ
うにした二次元プログラム言語構造解析処理方式に関す
るものである。
コンピュータによって実行されるプログラムの生産性を
上げることが、近年、ますます重要性を増している。従
来のプログラムは、所定の構文規則に従って、ステート
メントを一次元的に並べたものであるため、プログラム
の構造や制御構造を直観的に把握するのは困難であり、
プログラムの開発や保守に、別にフローチーヤトやモジ
ュール関連図等の詳細設計(DD)  ドキュメントが
必要であった。
DDドキュメントを、そのまま自動的にプログラム化す
ることができれば、16グラムの生産性。
柔軟性、保守性などが極めて容易になる。そのため1図
形パターンを構造の表記に用いる二次元プログラム言語
が考えられており、この二次元プログラム言語によって
記述されたものを、DDドキュメントとしても、また、
プログラムそのものとしても利用できるようにすること
が考えられている。
このような二次元プログラム言語の言語仕様では1図形
のパターンがプログラム構造や制御構造を規定するため
、翻訳にあたっての構造の解釈が複雑であり、できるだ
け簡単に構造を解析できるような技術が望まれている。
〔従来の技術〕
第5図は二次元プログラム言語で記述されたプログラム
の例、第6図は従来の構造解析概念説明図を示す。
例えば、第5図に示すように、プログラム構造。
制御構造、データ構造等を図形パターンで表記する言語
仕様を持つ二次元プログラム言語が考えられている。こ
のような二次元プログラム言語で記述されたプログラム
を、より低レベルの言語に翻訳するにあたって構文を解
析する場合5図形の基本パターンによる構造を解析する
必要がある。
従来、第5図に示すような図形パターンを含むソースコ
ードを入力して、基本パターンの関係から、その構造を
解析する場合、第6図に示すように、一般的に構造解析
手続き30によって解析することが考えられている。即
ち、コードaを読み。
所定の基本パターン「ト」と比較し、一致する場合2次
のコードbを読み、所定の基本パターン「−」と比較し
、・・・・・・というように、アルゴリズムによって解
析することが、一般的に考えられている。
〔発明が解決しようとする問題点〕
二次元プログラム言語における構造を、構造解析手続き
(アルゴリズム)によって解析する場合。
その手続きが膨大なものとなり、誤りのない解析手続き
を作成するのが困難であるという問題がある。また、言
語仕様に変更がある場合などに5正しく修正することが
極めて困難であるという問題がある。
さらにまた、ある程度、型にはまった解析しかできない
ので2本来、基本パターンは「ト」であるが、「+」と
いうようなパターンも、特定の個所では同じ意味に解釈
しようというような場合に。
その自由度が制限されるという問題がある。
本発明は上記問題点の解決を図り、二次元プログラム言
語解釈の自由度を拡大させ、安定性、読書性、拡張性に
優れた解析の処理方式を提供することを目的としている
〔問題点を解決するための手段〕
第1図は本発明の基本構成例を示す。
第1図において、10はCPUおよびメモリ等からなる
処理装置、11は翻訳の制御を行う制御部、12は入力
ソースについての構文を解析する構文解析部、13は図
形パターンによる構造を解析する構造解析部、14はテ
ーブルに従うて処理を遂行するテーブルハンドリング部
、15は構造解析テーブル、16は構文解析結果に従っ
て目的コードを生成するコード生成部、17は翻訳に関
する診断情¥Uを出力する診断情報出力部、18は二次
元プログラム言語により記述されたソースコード、19
は構文解析部12の出力である中間コード、20はより
低レベルの言語に翻訳された目的コード、21は構文上
のエラー情報その他の診断情報からなるメツセージ、2
2は構造解析テーブル15中に設けられる操作指示(O
P)部、23は指示対象(OPD)部、24は結果指定
部を表す。
構造解析テーブル15における操作指示部22には、比
較や関数呼出しなどの各種操作指示情報が設定される。
指示対象部23には、比較の対象となる図形パターンの
基本要素等が設定される。
結果指定部24には、パターンがマツチングしない場合
などにおける分岐先(次のテーブルのエントリ番号など
)が設定される。
本発明の場合、構造を解析するためのパターン情報等の
図形側は、すべて構造解析テーブル15にデータとして
保持される。構造解析テーブル15のデータは、共通な
特徴を持つパターンによってグループ化され、結果指定
部24が1次のグループへのポインタとして用いられる
。各グループは、必要に応じて、さらに階筋的にグルー
プ化される。
テーブルハンドリング部14は、構造解析テーブル15
へのポインタを管理し、ソースコード18から読み出し
たコードに対して、ポインタによって示される操作指示
部22に従った処理を行い。
構造の基本単位を解析によって決定するか、またはエラ
ーを検出するまで、順次、構造解析テーブル15をアク
セスして処理を進める。
この構造解析結果により、構文解析部12は。
ソースコード18を一次元的な中間コード19に変換す
る。コード生成部16は、中間コード19を目的コード
20に変換する処理を実行するが。
この処理については1周知技術を用いることができるの
で、詳細な説明を省略する。目的コード20は1例えば
FORTRANのソースプログラムのようなものでもよ
いし、さらに翻訳された機械語プログラムのようなもの
でもよい。
〔作用〕
本発明では、二次元プログラム言語の構造が。
命令の並びからなるアルゴリズムではなく、テーブル化
された図形側のデータに基づいて解析される。従って、
テーブルにデータを追加、変更するだけで、言語仕様の
追加、変更に容易に対処することができる。
図形側がデータとして保持され、その内容の把握が容易
であるので、解析処理に関する早期安定化が可能であり
、読書性、拡張性がよい。また。
最初に現れるパターンなどにより、テーブルのデータを
グループ化しているため、コンパクト化が可能であると
共に、言語仕様の変更等に対しても。
修正量が少なくて済む。
(実施例〕 第2図は本発明が対象とする二次元プログラム言語の言
語仕様例、第3図は本発明の一実施例に係る構造解析テ
ーブルの例、第4図は本発明による解析処理の例を示す
第2図(イ)ないしく二)は9本発明が対象とする二次
元プログラム言語の言語仕様におけるプログラム構造の
表記を示している。第2図(イ)は、翻訳の開始/終了
を示す。第2図(ロ)は。
外部手続き定義のパターンである。第2図(ハ)は、内
部手続き定義のパターンである。第2図(ニ)は、二次
入口を定義するパターンである。
第2図(ホ)ないしくチ)は、制御構造の表記を示して
いる。特に、第2図(ホ)は、順次処理のパターンを示
している。第2図(へ)は判定・繰り返し・選択等のパ
ターンである。第2図(ト)のパターンは復帰を示し、
第2図(チ)のパターンは例外処理を示す。
第2図(す)ないしくル)は、データ構造を表記する例
である。第2図(す)は変数や配列の宣言に用いるパタ
ーンであり、第2図(ヌ)は構造体の宣言に用いるパタ
ーンである。第2図(ル)のパターンは1表形式のデー
タ宣言に用いる。
第2図に示すような言語仕様におけるパターンは、その
要素が1通常の文字コードと同様にコード化される。二
次元プログラム言語の入力は、専用のエディタや、ワー
ドブロセ、すのような入力装置によって入力される。こ
のような言語の構造を解析するために、第3図に示すよ
うなデータを保持する構造解析テーブル15が用いられ
る。
構造解析テーブル15における操作指示部22には、解
析における操作種別コードが設定される。
操作種別コード「1」は、比較を意味する。操作種別コ
ード「2」は、関数呼出しを意味する。以下、「3」は
分岐、「4」は関数値比較、「5」は正常終了、「6」
は異常終了、「7」はテーブルの終りを意味する。
指示対象部23には、比較対象となる基本パターンのコ
ードや、関数の種別コードや、解析結果の中間コード種
別情報等が設定される。結果指定部24には、比較結果
が「偽」である場合のテーブル分岐先等の情報が設定さ
れる。
以下、第4図に従って、具体的な解析処理について説明
する。
第4図に示す構造解析テーブル15におけるデータDI
−D19は、「判定」のパターンを解析するデータの例
を示している。データD20.D21、・・・は、同じ
グループの「反復」のパターンを解析するデータの例で
ある。
・  テーブルハンドリング部14は、構造解析テーブ
ル15に従って、比較および関数呼出し等の処理を進め
る。データD1では、操作指示部22がrlJであるの
で、比較操作を意味し、指示対象部23の基本パターン
「ト」との比較を行う。一致しない場合、結果指定部2
4が示す分岐先へテーブルのポインタを進める。一致す
る場合には。
次のデータD2について、同様に解析処理を進める。
データD2でも、比較操作が指示されているので3次の
コードと、基本パターン「−」のコードとの比較を行う
。一致する場合、順次、テーブル・ポインタを1ずつ進
めていく。
データD4の操作指示部22は、「2」であり。
第3図で説明したように関数呼出しを示す。テーブルハ
ンドリング部14は、指示対象部23のXlによって、
所定の関数処理部x1を呼び出す。
この例では、関数処理部X1は、ソースコード18の次
の1行分のレコードを読み出す処理を行うものである。
次のデータD5は、操作指示部22が「4」であるので
、関数値比較を示し、前の関数呼出しが正常であったか
否かの判定を行う。
例えば2データD7では、テーブルハンドリング部14
は、「判」の文字比較を行うが、ソースコードが「判」
でない場合には、結果指定部24が示す分岐先によって
1次に、データD20のハンドリングを行うことになる
。コードが「判」である場合には1次は「定」の文字比
較を行う。
データDIOにおける関数呼出しは、ソースコード18
における同一レコードの後部(Y部)をスタックする関
数処理部x2を呼び出すものである。ここでは、「Aと
Bが等しいか」という文字列がスタックされることにな
る。
第4図に示すソースコード18における「判定」の図形
パターンの解析では、最終的にデータD19により、解
析結果として3判定を示す「i【」の中間コードが出力
されることになる。
テーブルハンドリング部14および関数処理部xl、関
数処理部x2.・・・等は、言語仕様のパターンに無関
係に5共通処理としてコンパクトに作成することが可能
である。
〔発明の効果〕
以上説明したように1本発明によれば、二次元プログラ
ム言語の言語仕様による図形剤を、テーブル化している
ので、解釈の自由度が拡大し、パターンの追加、削除が
容易となる。テーブル化により、解析対象となるパター
ンについての読♂性。
拡張性が増すと共に、テーブル内容のグループ化によっ
て、全体をコンパクトにすることが可能となる。
【図面の簡単な説明】
第1図は本発明の基本構成◇I、第2図は本発明が対象
とする二次元プログラム言語の言語仕様例。 第3図は本発明の一実施例に係る構造?:”;析テーブ
ルの例、第4図は本発明による解析処理の例、第5図は
二次元プログラム言語で記述されたプログラムの例、第
6図は従来の構造解析概念説明図を示す。 図中、10は処理装置、11は制御部、12は構文解析
部、13は構造解析部、14はテーブルハンドリング部
、15は構造解析テーブル、16はコード生成部、17
は診断情叩出力部、18はソースコード、19は中間コ
ード、20は目的コード、21はメツセージ、22は操
作指示部、23は指示対象部、24は結果指定部を表す
。 特許出願人    富士通株式会社 復代理人弁理士   小笠原 吉義 ネメS明 つ シロ4ジ楕々4多り 第 1 図 一¥)  3  !21 19     4>r 明r=よろ占4 Q Kl 9
7 /) 測子 4!21

Claims (1)

  1. 【特許請求の範囲】 図形パターンを構造の表記に用いる二次元プログラム言
    語の言語仕様によって記述されたプログラムを解釈し、
    より低レベルの目的言語に翻訳する処理システムにおい
    て、 比較を含む各種操作指示情報が設定される操作指示部(
    22)と、比較操作に対して図形パターンの基本要素が
    設定される指示対象部(23)と、操作結果に関連する
    処理情報が設定される結果指定部(24)とを要素に含
    むデータの並びからなり、該各データの並びが共通な特
    徴を持つパターンに基づいてグループ化されている構造
    解析テーブル(15)と、該構造解析テーブルにおける
    上記データの並びによって、仕様上のパターンと、構造
    解析対象となるプログラムに用いられているパターンと
    のマッチングを行い、構造を解析するテーブルハンドリ
    ング手段(14)とを備えたことを特徴とする二次元プ
    ログラム言語構造解析処理方式。
JP61218565A 1986-09-17 1986-09-17 二次元プログラム言語構造解析処理方式 Pending JPS6373475A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61218565A JPS6373475A (ja) 1986-09-17 1986-09-17 二次元プログラム言語構造解析処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61218565A JPS6373475A (ja) 1986-09-17 1986-09-17 二次元プログラム言語構造解析処理方式

Publications (1)

Publication Number Publication Date
JPS6373475A true JPS6373475A (ja) 1988-04-04

Family

ID=16721934

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61218565A Pending JPS6373475A (ja) 1986-09-17 1986-09-17 二次元プログラム言語構造解析処理方式

Country Status (1)

Country Link
JP (1) JPS6373475A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996018944A1 (fr) * 1994-12-13 1996-06-20 Hong Jun Yoo Appareil de traitement de conception de logiciel du type a assemblage

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996018944A1 (fr) * 1994-12-13 1996-06-20 Hong Jun Yoo Appareil de traitement de conception de logiciel du type a assemblage

Similar Documents

Publication Publication Date Title
US5860008A (en) Method and apparatus for decompiling a compiled interpretive code
US4730315A (en) Diagrammatic method of testing program
US5317509A (en) Regular expression factoring for scanning multibyte character sets with a single byte automata machine
JPH0630066B2 (ja) テーブル型言語翻訳方法
EP0583117A2 (en) A device and method for converting computer programming languages
JPH0383153A (ja) メツセージ処理システム及び方法
JPS6373475A (ja) 二次元プログラム言語構造解析処理方式
JPH02183339A (ja) コンピユータ・プログラム変換装置および方法
EP0371943A2 (en) System and method for generating programming language translators
JPH09330212A (ja) プログラミング言語処理システム
JPH05224944A (ja) アラインメント整合方法
JP2539070B2 (ja) コンパイラ処理装置
Grau et al. Handbook for Automatic Computation: Volume I· Part B
Wolberg et al. CONVERT‐A language for program and data file conversions
JPH03176740A (ja) ソースファイルの互換方式
Vel'bitskiy Metalanguage for formal definition of semantics of programming languages
JPH0340033A (ja) 呼び出し元のコード系認識処理方式
JPH06282424A (ja) プログラム設計書の自動作成装置
JPH04248624A (ja) プログラム変換処理装置
Pearce Interactive simulation on minicomputers: Part 2-Implementation of the ISIS language
JP2601541B2 (ja) Fortran入出力並び処理方式
Digit Dada grammar
Ju An automated screen interface generator for Pascal programs
SIMPSON LANGUAGEWITH FEW ARBITRARY RESTRICTIONS
JPH06168139A (ja) コンパイル装置