JPH0724022B2 - プログラム言語変換方法 - Google Patents
プログラム言語変換方法Info
- Publication number
- JPH0724022B2 JPH0724022B2 JP16834089A JP16834089A JPH0724022B2 JP H0724022 B2 JPH0724022 B2 JP H0724022B2 JP 16834089 A JP16834089 A JP 16834089A JP 16834089 A JP16834089 A JP 16834089A JP H0724022 B2 JPH0724022 B2 JP H0724022B2
- Authority
- JP
- Japan
- Prior art keywords
- code
- connection
- primitive
- connection table
- source
- 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.)
- Expired - Fee Related
Links
Landscapes
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
Description
【発明の詳細な説明】 <産業上の利用分野> 本発明は、図形言語であるシーケンシャル・ファンクシ
ョン・チャート(SFC;Sequential Function Chart)を
用いて作成したプログラムを自動的に、計算機で実行で
きるテキスト言語形式のプログラムに変換する、プログ
ラム言語変換方法に関するものである。
ョン・チャート(SFC;Sequential Function Chart)を
用いて作成したプログラムを自動的に、計算機で実行で
きるテキスト言語形式のプログラムに変換する、プログ
ラム言語変換方法に関するものである。
<従来の技術> 最近、プロセス、工場等の各種制御処理分野ではシーケ
ンシャル・ファンクションチャート(SFC;Sequential F
unction Chart)と呼ばれる、図形言語によるプログラ
ミングが用いられるようになってきた。
ンシャル・ファンクションチャート(SFC;Sequential F
unction Chart)と呼ばれる、図形言語によるプログラ
ミングが用いられるようになってきた。
このシーケンシャル・ファンクション・チャート(以下
「SFC」という)は、例えば計算機システムに設置され
るCRT表示画面上に、マウス等を介してプリミティブと
呼ばれる画素を用いて、処理シーケンスを構築するよう
に生成される。
「SFC」という)は、例えば計算機システムに設置され
るCRT表示画面上に、マウス等を介してプリミティブと
呼ばれる画素を用いて、処理シーケンスを構築するよう
に生成される。
このようなSFCの例を第9図に表わす。
この例で「□」内の1〜7は処理ステップ番号を表わ
し、このステップ番号に付加されるA〜Gは、例えば
「初期化」,「加熱」,「混合」,「薬品投入」,「冷
却」等の当該処理ステップ番号に対応する処理の内容を
表わす。また、t1〜t6の「+」は移行条件を含むトラン
ジション、 等は分岐を意味し、 等は並列開始処理,並列終了処理を表わす。
し、このステップ番号に付加されるA〜Gは、例えば
「初期化」,「加熱」,「混合」,「薬品投入」,「冷
却」等の当該処理ステップ番号に対応する処理の内容を
表わす。また、t1〜t6の「+」は移行条件を含むトラン
ジション、 等は分岐を意味し、 等は並列開始処理,並列終了処理を表わす。
SFCは前述したように、例えばCRT表示画面上で編集され
るため、計算機で実行する際には、このSFCの処理フロ
ーに従って計算機で実行できる言語形式のプログラムに
変換する必要がある。
るため、計算機で実行する際には、このSFCの処理フロ
ーに従って計算機で実行できる言語形式のプログラムに
変換する必要がある。
<発明が解決しようとする課題> 従来は、例えば、プログラマがSFCをCRT画面上に見なが
ら計算機で実行可能なテキスト言語にプログラミングす
る、という人間による手作業に頼っていた。
ら計算機で実行可能なテキスト言語にプログラミングす
る、という人間による手作業に頼っていた。
このため、人手がかかるとともに時間がかかり、効率の
悪い作業となっていた。
悪い作業となっていた。
本発明は、SFCによる図形言語を計算機システム内で自
動的にテキスト言語に変換できるような方法を実現する
ことを課題とし、人手、時間がかからず、効率良いプロ
グラム変換方法を得ることを目的とする。
動的にテキスト言語に変換できるような方法を実現する
ことを課題とし、人手、時間がかからず、効率良いプロ
グラム変換方法を得ることを目的とする。
<課題を解決するための手段> 本発明の方法は、SFCにおいて文法上意味のあるプリミ
ティブについて接続テーブルを生成し、この接続テーブ
ルから抽出したエレメントに対応するソースを発生する
ようにしたものであり、その具体的な方法は次の通りで
ある。
ティブについて接続テーブルを生成し、この接続テーブ
ルから抽出したエレメントに対応するソースを発生する
ようにしたものであり、その具体的な方法は次の通りで
ある。
即ち、シーケンシャル・ファンクション・チャートを用
いて作成した図形言語によるプログラムをテキスト言語
によるソース・ファイルに変換するプログラム言語変換
方法において、 (a)前記図形言語によるプログラムを構成する各プリ
ミティブを抽出し、記憶手段上の当該プリミティブが存
在する座標位置に、プリミティブ・コードと、予め定め
た当該プリミティブに対応するエレメント・コードと、
エレメント識別番号とを書き込んて図形テーブルを生成
する処理手段と、 (b)この図形テーブルを走査して特定エレメント・コ
ード毎に、その識別番号順に座標位置、当該エレメント
・コードに接続する他のエレメントの数及びエレメント
・コードとを設定する接続テーブルを生成する処理手順
と、 (c)この接続テーブルを相互に走査して抽出したエレ
メント・コードについて対応するソースを発生する処理
手順と からなるプログラム言語変換方法である。
いて作成した図形言語によるプログラムをテキスト言語
によるソース・ファイルに変換するプログラム言語変換
方法において、 (a)前記図形言語によるプログラムを構成する各プリ
ミティブを抽出し、記憶手段上の当該プリミティブが存
在する座標位置に、プリミティブ・コードと、予め定め
た当該プリミティブに対応するエレメント・コードと、
エレメント識別番号とを書き込んて図形テーブルを生成
する処理手段と、 (b)この図形テーブルを走査して特定エレメント・コ
ード毎に、その識別番号順に座標位置、当該エレメント
・コードに接続する他のエレメントの数及びエレメント
・コードとを設定する接続テーブルを生成する処理手順
と、 (c)この接続テーブルを相互に走査して抽出したエレ
メント・コードについて対応するソースを発生する処理
手順と からなるプログラム言語変換方法である。
<作用> 本発明のプログラム言語変換方法は次のように作用す
る。
る。
記憶手段上にSFCを格納して図形テーブル生成後、文法
上意味のあるプリミティブについて接続関係を表わす接
続テーブルを生成し、この接続テーブルを相互に走査し
て参照し、抽出されたエレメント・コードに対応するソ
ースを発生し、SFCに対応するテキスト言語形式のプロ
グラムを生成する。
上意味のあるプリミティブについて接続関係を表わす接
続テーブルを生成し、この接続テーブルを相互に走査し
て参照し、抽出されたエレメント・コードに対応するソ
ースを発生し、SFCに対応するテキスト言語形式のプロ
グラムを生成する。
<実施例> 第1図は、本発明を実施したプログラム言語変換方法の
概念を表わす図である。
概念を表わす図である。
この図で、ディスク1はCRT表示装置上で編集されたSFC
のデータを有する。記憶手段(主記憶)2は、SFCの図
形イメージ21からプリミティブ(図形要素)を追跡して
求めた各プリミティブの接続関係を設定する接続テーブ
ル22と、この接続テーブル22を走査してテキスト言語の
ソース・コードを発生する変換プログラム23を格納す
る。ディスク3は記憶手段2で発生したテキスト言語に
よるプログラムを格納する。
のデータを有する。記憶手段(主記憶)2は、SFCの図
形イメージ21からプリミティブ(図形要素)を追跡して
求めた各プリミティブの接続関係を設定する接続テーブ
ル22と、この接続テーブル22を走査してテキスト言語の
ソース・コードを発生する変換プログラム23を格納す
る。ディスク3は記憶手段2で発生したテキスト言語に
よるプログラムを格納する。
次に、SFCの図形イメージ21として、第9図のようなSFC
を想定し、本発明方法の手順を詳細に説明する。
を想定し、本発明方法の手順を詳細に説明する。
はじめに、SFCの図形イメージ21は第1図中の破線に示
すように、各プリミティブ(図形要素)に分割すること
ができ、各プリミティブがこのイメージ21内のどの位置
(座標位置)に存在するかを検出する。即ち、SFCに対
応する図形イメージ21は、第2図に示すような30種類の
プリミティブ(プリミティブ・コード0〜37の表示パタ
ーン)を用いて編集される。
すように、各プリミティブ(図形要素)に分割すること
ができ、各プリミティブがこのイメージ21内のどの位置
(座標位置)に存在するかを検出する。即ち、SFCに対
応する図形イメージ21は、第2図に示すような30種類の
プリミティブ(プリミティブ・コード0〜37の表示パタ
ーン)を用いて編集される。
更に、このプリミティブの内、文法上意味のあるものに
ついては、第3図に示すエレメント・コードが設定され
る。
ついては、第3図に示すエレメント・コードが設定され
る。
そして、第9図のSFCに対応する図形イメージ21につい
て、まず、はじめに図形テーブルを生成する。この図形
テーブルは第4図に示す形式を有し、縦100×横20(行
×列)の座標系に対応する容量のテーブルである。この
テーブルにて、座標(1,1)から座標(100,20)の各座
標位置に、プリミティブに対応する、プリミティブ・コ
ード,エレメント・コード,エレメント識別番号が設定
される。例えば、斜線で示す座標位置には「プリミティ
ブ・コード,エレメント・コード,エレメント識別番
号」として「20,PE,1」が設定されれば、この座標位置
には識別番号1の並列動作開始の図形要素(プリミティ
ブ)が存在することが判明する。プリミティブがない座
標位置または表示なしの座標位置には何も設定されな
い。
て、まず、はじめに図形テーブルを生成する。この図形
テーブルは第4図に示す形式を有し、縦100×横20(行
×列)の座標系に対応する容量のテーブルである。この
テーブルにて、座標(1,1)から座標(100,20)の各座
標位置に、プリミティブに対応する、プリミティブ・コ
ード,エレメント・コード,エレメント識別番号が設定
される。例えば、斜線で示す座標位置には「プリミティ
ブ・コード,エレメント・コード,エレメント識別番
号」として「20,PE,1」が設定されれば、この座標位置
には識別番号1の並列動作開始の図形要素(プリミティ
ブ)が存在することが判明する。プリミティブがない座
標位置または表示なしの座標位置には何も設定されな
い。
このような図形テーブルが生成されると、次に、各プリ
ミティブの接続関係を知るためにプリミティブの接続テ
ーブルを生成する。
ミティブの接続関係を知るためにプリミティブの接続テ
ーブルを生成する。
この接続テーブルは、前述の図形テーブルを走査し、SF
Cにおいて、その文法上特に意味を有する数種類のプリ
ミティブに注目して、生成する。
Cにおいて、その文法上特に意味を有する数種類のプリ
ミティブに注目して、生成する。
即ち、本発明の方法にあっては、生成した図形テーブル
を走査し、SFC編集において、文法上特に重要な意味を
有する、ステップ「□」(S,IS,MS,SF,YS,WS)、トラン
ジション「+」(T)、 ジャンプ「↓Jxx」,「↑Jxx」(JF)のプリミティブ
(エテメント・コード)について、6種類の接続テーブ
ルを生成する。
を走査し、SFC編集において、文法上特に重要な意味を
有する、ステップ「□」(S,IS,MS,SF,YS,WS)、トラン
ジション「+」(T)、 ジャンプ「↓Jxx」,「↑Jxx」(JF)のプリミティブ
(エテメント・コード)について、6種類の接続テーブ
ルを生成する。
第5図(a)は、ステップ接続テーブルである。このス
テップ接続テーブルは、各ステップ(エレメント・コー
ドS,IS,MS,SF,YS,WS)について生成されるテーブルであ
り、ステップ番号、対応するエレメント・コード、座標
位置、このステップの下側に接続するエレメントの数
(接続数)、この接続しているエレメント・コード及び
その識別番号が設定される。尚、「処理フラグ」は、後
述するソース生成処理中に使用されるものである。
テップ接続テーブルは、各ステップ(エレメント・コー
ドS,IS,MS,SF,YS,WS)について生成されるテーブルであ
り、ステップ番号、対応するエレメント・コード、座標
位置、このステップの下側に接続するエレメントの数
(接続数)、この接続しているエレメント・コード及び
その識別番号が設定される。尚、「処理フラグ」は、後
述するソース生成処理中に使用されるものである。
第5図(b)は、トランジション接続テーブルであり、
各トランジション(エレメント・コードT)について生
成されるテーブルである。このトランジション接続テー
ブルは、トランジション番号、処理フラグ、座標位置、
このトランジションに接続するエレメントの数(接続
数)、接続しているエレメント及びその識別番号が設定
される。
各トランジション(エレメント・コードT)について生
成されるテーブルである。このトランジション接続テー
ブルは、トランジション番号、処理フラグ、座標位置、
このトランジションに接続するエレメントの数(接続
数)、接続しているエレメント及びその識別番号が設定
される。
第5図(c)は、並列動作を開始するエレメント(エレ
メント・コードPS)について生成される並列開始接続テ
ーブルであり、並列開始エレメント番号、その座標位
置、並列しているエレメントの数(並列数)、この並列
開始エレメントに接続されているエレメントの位置(並
列座標位置),更にこのエレメントに接続するエレメン
トがあればその数(接続数)及びそのエレメントの種別
が設定される。この並列開始エレメントに接続するエレ
メントは最大10個まで設定される。
メント・コードPS)について生成される並列開始接続テ
ーブルであり、並列開始エレメント番号、その座標位
置、並列しているエレメントの数(並列数)、この並列
開始エレメントに接続されているエレメントの位置(並
列座標位置),更にこのエレメントに接続するエレメン
トがあればその数(接続数)及びそのエレメントの種別
が設定される。この並列開始エレメントに接続するエレ
メントは最大10個まで設定される。
この他、並列終了接続テーブル(エレメント・コードP
E)、合流接続テーブル(エレメント・コードG)、ジ
ャンプ合流接続テーブル(エレメント・コードJF)が設
定されるが、それぞれのテーブル構成は、第5図(b)
に示すトランジション接続テーブルと全く同様の構成と
するので省略する。
E)、合流接続テーブル(エレメント・コードG)、ジ
ャンプ合流接続テーブル(エレメント・コードJF)が設
定されるが、それぞれのテーブル構成は、第5図(b)
に示すトランジション接続テーブルと全く同様の構成と
するので省略する。
尚、前述の図形テーブルを作成する際に、各々のプリミ
ティブを検出するとそれぞれのプリミティブの座標位置
は直ちに判明するので、各接続テーブルにおいて、ステ
ップ、トランジション等の識別番号、座標位置は、図形
テーブル生成の際に設定される。
ティブを検出するとそれぞれのプリミティブの座標位置
は直ちに判明するので、各接続テーブルにおいて、ステ
ップ、トランジション等の識別番号、座標位置は、図形
テーブル生成の際に設定される。
次に、以上の各接続テーブルにおいて、エレメントの識
別番号、その座標位置が設定された後、各エレメントに
接続するエレメントの数、その種別を検出しなければな
らないが、その検出アルゴリズムを第6図のフローチャ
ートに示し、説明する。
別番号、その座標位置が設定された後、各エレメントに
接続するエレメントの数、その種別を検出しなければな
らないが、その検出アルゴリズムを第6図のフローチャ
ートに示し、説明する。
この接続エレメント・サーチ処理は、前述した図形テー
ブルを走査し、あるエレメント(プリミティブ)が検出
された際に、開始する。
ブルを走査し、あるエレメント(プリミティブ)が検出
された際に、開始する。
はじめに、接続テーブルを生成すべきエレメントを検出
すると、このエレメントについて、サーチ方向“↓”を
設定し、接続エレメント数を“0"とする。
すると、このエレメントについて、サーチ方向“↓”を
設定し、接続エレメント数を“0"とする。
このサーチ方向“↓”に1座標進め、現在のサーチ方向
(処理開始時点では“↓”)と、新たに検出されたエレ
メント(プリミティブ)とから決定される処理タイプ
(〜)のいずれかをサーチ・テーブルから読み取
る。
(処理開始時点では“↓”)と、新たに検出されたエレ
メント(プリミティブ)とから決定される処理タイプ
(〜)のいずれかをサーチ・テーブルから読み取
る。
このサーチ・テーブルを第7図に示す。
即ち、SFCを構成する30種類のプリミティブについて、
現在のサーチ方向に対応して予め処理タイプ〜を設
定しておく、この処理タイプ〜の内容は、該当する
プリミティブ(エレメント)に対応して現在サーチして
いる方向に従って新たなサーチ方向を決定し、サーチ方
向が2個ある場合は1個のサーチ方向とその座標位置を
スタックに格納するように指定する。
現在のサーチ方向に対応して予め処理タイプ〜を設
定しておく、この処理タイプ〜の内容は、該当する
プリミティブ(エレメント)に対応して現在サーチして
いる方向に従って新たなサーチ方向を決定し、サーチ方
向が2個ある場合は1個のサーチ方向とその座標位置を
スタックに格納するように指定する。
第6図のフローに戻り、サーチ・テーブルより得られた
エレメントの処理タイプに応じて、詳しくは、次の処理
が実行される。
エレメントの処理タイプに応じて、詳しくは、次の処理
が実行される。
処理タイプ; サーチ・テーブルに設定されているサーチ方向に従って
エレメントをサーチする。
エレメントをサーチする。
処理タイプ; スタックに格納指示のあるサーチ方向をプロセッサ内の
スタックに格納するとともに当該エレメントの現在の座
標位置をスタックに格納する。その後、サーチ・テーブ
ルの示す方向にサーチする。
スタックに格納するとともに当該エレメントの現在の座
標位置をスタックに格納する。その後、サーチ・テーブ
ルの示す方向にサーチする。
処理タイプ,; 図形テーブルら当該エレメントのエレメント・コード及
びエレメント識別番号とを読み出し、サーチを開始した
エレメントに接続するエレメントとして接続テーブルに
書き込む。そして、この接続テーブルの接続エレメント
数を+1し、スタックを読み出す。スタックが空であれ
ば終了し、空でなければスタック内にあるサーチ方向と
サーチを開始したエレメントの座標位置を読み取る。
びエレメント識別番号とを読み出し、サーチを開始した
エレメントに接続するエレメントとして接続テーブルに
書き込む。そして、この接続テーブルの接続エレメント
数を+1し、スタックを読み出す。スタックが空であれ
ば終了し、空でなければスタック内にあるサーチ方向と
サーチを開始したエレメントの座標位置を読み取る。
処理タイプ; エレメントの接続関係が矛盾する(リンク切れ等)の
で、サーチを開始したエレメントが属する接続テーブル
にエラー・コード(例えば“E")を書き込み、スタック
の内容を読み取る。後は処理,と同様である。
で、サーチを開始したエレメントが属する接続テーブル
にエラー・コード(例えば“E")を書き込み、スタック
の内容を読み取る。後は処理,と同様である。
処理タイプ; 現在の座標位置をサーチ開始時の座標としてセットし、
サーチ方向を“↑”とする。
サーチ方向を“↑”とする。
以上のような接続エレメントのサーチ・アルゴリズムを
実行し、第5図(a),(b),(c)に示す、ステッ
プ接続テーブル、トランジション接続テーブル、並列開
始接続テーブルの他、並列終了接続テーブル、合流接続
テーブル、ジャンプ合流接続テーブル、即ち、文法上意
味のある各エレメントについての6種類の接続テーブル
が完成する。
実行し、第5図(a),(b),(c)に示す、ステッ
プ接続テーブル、トランジション接続テーブル、並列開
始接続テーブルの他、並列終了接続テーブル、合流接続
テーブル、ジャンプ合流接続テーブル、即ち、文法上意
味のある各エレメントについての6種類の接続テーブル
が完成する。
この6種類の接続テーブルが完成すると、テキスト言語
変換プログラム(第1図の概念における変換プログラム
23)を起動し、所望のテキスト言語変換処理を開始す
る。
変換プログラム(第1図の概念における変換プログラム
23)を起動し、所望のテキスト言語変換処理を開始す
る。
このテキスト言語変換アルゴリズムは第8図の通りであ
る。
る。
はじめに、ステップ接続テーブルの第1番目から、順
次、処理フラグをみて処理済か否かを調べて読み出して
いく。
次、処理フラグをみて処理済か否かを調べて読み出して
いく。
ステップ接続テーブルにて、第1番目のエレメント・コ
ードが例えば“S"であればエレメント・コードSに対応
するステップ・ソースが生成される。次に、このステッ
プ番号1に接続するエレメントをステップ接続テーブル
から読み出し、接続しているエレメント・コードを判別
する。
ードが例えば“S"であればエレメント・コードSに対応
するステップ・ソースが生成される。次に、このステッ
プ番号1に接続するエレメントをステップ接続テーブル
から読み出し、接続しているエレメント・コードを判別
する。
エレメント・コード及び識別番号が“T1"であるとすれ
ば、対応するトランジション・ソースを生成し、今度は
トランジション接続テーブルを読み出し、接続している
エレメント・コードを判別する。
ば、対応するトランジション・ソースを生成し、今度は
トランジション接続テーブルを読み出し、接続している
エレメント・コードを判別する。
以下、この取り出したエレメントが属する接続テーブル
を参照し、順次、6種類の接続テーブルを相互に参照し
ながらソースを生成する。
を参照し、順次、6種類の接続テーブルを相互に参照し
ながらソースを生成する。
エレメント・コートが“S",“T",“YS"“WS",“MS",“S
F"の場合は、対応する「ステップ・ソース」,「トラン
ジション・ソース」,「YSLステップ・ソース」,「ウ
ェイト・ステップ・ソース」,「マクロステップ・ソー
ス」,「サブSFCソース」を生成する。
F"の場合は、対応する「ステップ・ソース」,「トラン
ジション・ソース」,「YSLステップ・ソース」,「ウ
ェイト・ステップ・ソース」,「マクロステップ・ソー
ス」,「サブSFCソース」を生成する。
エレメント・コードが“PS"(並列開始)の場合は、並
列開始ソースを生成し、当該並列開始エレメントに接続
しているエレメントを並列開始接続テーブルから取り出
し、複数のトランジション・コードTが接続されていな
ければ、この並列処理に対応するソースを生成し、トラ
ンジション・ソースを生成処理に移行する(経路)。
並列開始エレメントに接続しているエレメントが複数の
トランジション・コードTである場合は複数のコードT
での並列選択ソースを生成する。そして、分岐ソースを
生成する。
列開始ソースを生成し、当該並列開始エレメントに接続
しているエレメントを並列開始接続テーブルから取り出
し、複数のトランジション・コードTが接続されていな
ければ、この並列処理に対応するソースを生成し、トラ
ンジション・ソースを生成処理に移行する(経路)。
並列開始エレメントに接続しているエレメントが複数の
トランジション・コードTである場合は複数のコードT
での並列選択ソースを生成する。そして、分岐ソースを
生成する。
エレメント・コードが複数のトランジション・コードT
に接続されている場合は、この複数のトランジション・
コードTについて選択ソースを生成し、その後、分岐ソ
ースを生成する。
に接続されている場合は、この複数のトランジション・
コードTについて選択ソースを生成し、その後、分岐ソ
ースを生成する。
合流コードGまたはジャンプ・コードJFであれば、結合
ソースを生成し、終了かをみる。
ソースを生成し、終了かをみる。
エレメントが“NULL"(表示なし)の場合、プレーン=
0でなければ走査を完了し、プレーン=0であれば結合
ソースを生成する。結合ソース生成後、終了でなければ
接続エレメントを取り出す。尚、プレーンとは、エレメ
ント・コード“MS"であり、更に、展開できるSFCが複数
個存在する場合に、最上位のSFCからプレーン=0,1,2…
のように順位を付ける。
0でなければ走査を完了し、プレーン=0であれば結合
ソースを生成する。結合ソース生成後、終了でなければ
接続エレメントを取り出す。尚、プレーンとは、エレメ
ント・コード“MS"であり、更に、展開できるSFCが複数
個存在する場合に、最上位のSFCからプレーン=0,1,2…
のように順位を付ける。
並列合流コードPEの場合は、並列部の走査を終了する。
変換プログラムを構成するアルゴリズムは、以上の通り
であるが、変換するテキスト言語形式に応じて種々の変
形が考えられる。要は、生成した接続テーブルを相互に
参照しながら、該当エレメントに対応するソースを生成
する。
であるが、変換するテキスト言語形式に応じて種々の変
形が考えられる。要は、生成した接続テーブルを相互に
参照しながら、該当エレメントに対応するソースを生成
する。
さて、次に、以上述べた本発明方法を実際に用いた場合
を具体的に説明する。
を具体的に説明する。
第9図は、CRT上で編集したSFCの例であり、このような
いわゆる図形言語からテキスト言語に変換する場合の動
作を述べる。尚、このSFCは前述したように、1〜7は
ステップ、t1〜t6はトランジション、A〜Gは各ステツ
プの処理内容を表示するコメント・ブロックである。
いわゆる図形言語からテキスト言語に変換する場合の動
作を述べる。尚、このSFCは前述したように、1〜7は
ステップ、t1〜t6はトランジション、A〜Gは各ステツ
プの処理内容を表示するコメント・ブロックである。
このSFCは図形ファイルとして一旦ディスク等に格納さ
れる。
れる。
そして、このディスクからSFCは図形イメージとして読
み取られるが、この際、SFCの各プリミティブが存在す
る座標位置は明らかであり、第3図及び第4図に従っ
て、各プリミティブの存在する座標位置にプリミティブ
・コード、エレメント・コード、エレメント識別番号を
設定した、図形テーブル(第10図)が生成される。
み取られるが、この際、SFCの各プリミティブが存在す
る座標位置は明らかであり、第3図及び第4図に従っ
て、各プリミティブの存在する座標位置にプリミティブ
・コード、エレメント・コード、エレメント識別番号を
設定した、図形テーブル(第10図)が生成される。
第10図の図形テーブルで、“0"(“NULL")及び空欄は
表示なしである。
表示なしである。
次に、この図形テーブルから6種類の接続テーブルを作
成する手順を説明する。
成する手順を説明する。
尚、ここで、6種類の接続テーブルの領域は主記憶上に
設定されており、図形テーブルを作成する際、ステッ
プ、トランジション、並列開始、並列終了、合流、ジャ
ンプ合流のエレメントを検出すると、各エレメントにつ
いての接続テーブルに識別番号、座標位置を書き込んで
おく。
設定されており、図形テーブルを作成する際、ステッ
プ、トランジション、並列開始、並列終了、合流、ジャ
ンプ合流のエレメントを検出すると、各エレメントにつ
いての接続テーブルに識別番号、座標位置を書き込んで
おく。
さて、各接続テーブルを完成させるため、はじめに、第
11図(a)に示すステップ接続テーブルの1番目に位置
するステップについての情報を読み出す。
11図(a)に示すステップ接続テーブルの1番目に位置
するステップについての情報を読み出す。
この例であると、第1番目のステップはエレメント・コ
ードIS、座標位置(1,1)であり、接続するエレメント
数は3、接続するエレメントはトランジション・コード
T1,T2,T3の3個のトランジション・コードTである。こ
れより、第8図の変換フローに従い、複数のコードTを
処理するためのソースを選択し、各々のコードTを処理
する分岐ソースを生成する。
ードIS、座標位置(1,1)であり、接続するエレメント
数は3、接続するエレメントはトランジション・コード
T1,T2,T3の3個のトランジション・コードTである。こ
れより、第8図の変換フローに従い、複数のコードTを
処理するためのソースを選択し、各々のコードTを処理
する分岐ソースを生成する。
そして、トランジション・コードT1について、トランジ
ション接続テーブル(第11図(b))の第1番目を参照
する。トランジション・コードT1についてトランジショ
ン・ソースを生成した後、接続しているエレメントG1を
読み出し、エレメント・コードG1に対応する結合ソース
を生成する。
ション接続テーブル(第11図(b))の第1番目を参照
する。トランジション・コードT1についてトランジショ
ン・ソースを生成した後、接続しているエレメントG1を
読み出し、エレメント・コードG1に対応する結合ソース
を生成する。
また、このエレメント・コードG1は合流コードであり、
次に合流接続テーブル(第11図(e))の1番目を読み
出す。これにより、エレメント・コードG1座標位置(1
0,1)でエレメント・コードS7(ステップ7)が接続し
ていることが判明し、ステップ・ソースを生成する。
次に合流接続テーブル(第11図(e))の1番目を読み
出す。これにより、エレメント・コードG1座標位置(1
0,1)でエレメント・コードS7(ステップ7)が接続し
ていることが判明し、ステップ・ソースを生成する。
次に、第11図(a)のステップ接続テーブルの第7番目
(S7)に戻り、ステップS7には接続しているエレメント
がないことが判明する。
(S7)に戻り、ステップS7には接続しているエレメント
がないことが判明する。
ここまでで、ステップ番号1の接続エレメントT1につい
ての処理が終了し、次に、ステップ接続テーブルの第1
番目に接続するエレメント・コードT2についての処理が
開始する。
ての処理が終了し、次に、ステップ接続テーブルの第1
番目に接続するエレメント・コードT2についての処理が
開始する。
エレメント・コードT2についてのトランジション・ソー
ス生成後、トランジション接続テーブル(第11図
(b))の第2番目(“T2"に対応)を参照し、並列開
始エレメント・コードPS1が接続されていることを知
る。
ス生成後、トランジション接続テーブル(第11図
(b))の第2番目(“T2"に対応)を参照し、並列開
始エレメント・コードPS1が接続されていることを知
る。
並列開始コードPS1に対応する並列開始ソースを生成す
ると、次に、並列開始接続テーブル(第11図(c))を
参照する。
ると、次に、並列開始接続テーブル(第11図(c))を
参照する。
エレメント・コードPS1に対応する第11図(c)の並列
開始接続テーブルの第1番目を読み出すと、エテメント
S2及びS3が接続されていることが判明する。
開始接続テーブルの第1番目を読み出すと、エテメント
S2及びS3が接続されていることが判明する。
これにより、再び、ステップ接続テーブル(第11図
(a)の第2番目を読み出してステツ「・ソースを生成
し、ステップ“S2"には並列終了エレメント・コード“P
E1"が接続されていることを知る。
(a)の第2番目を読み出してステツ「・ソースを生成
し、ステップ“S2"には並列終了エレメント・コード“P
E1"が接続されていることを知る。
更に、並列終了接続テーブル(第11図(d))の第1番
目(“PE1"に対応)を参照すると、エレメント・コード
PE1にはトランジション・コードT5が接続されているこ
とが判明してトランジション・ソースを生成し、次に、
トランジション接続テーブル(第11図(b))を参照す
るとトランジション・コードT5には合流コードG1が接続
していることが分かる。そして、合流接続テーブル(第
11図(e))を参照し、ステップS7(処理済)が接続し
ていることが判明する。
目(“PE1"に対応)を参照すると、エレメント・コード
PE1にはトランジション・コードT5が接続されているこ
とが判明してトランジション・ソースを生成し、次に、
トランジション接続テーブル(第11図(b))を参照す
るとトランジション・コードT5には合流コードG1が接続
していることが分かる。そして、合流接続テーブル(第
11図(e))を参照し、ステップS7(処理済)が接続し
ていることが判明する。
次に、並列開始接続テーブル(第11図(c))に戻り、
ステップS3について、同様の処理操作を実行し、ソース
を生成する。
ステップS3について、同様の処理操作を実行し、ソース
を生成する。
そして、再びステップ接続テーブルに戻り、これ以降
は。まだ処理が終了していないエレメント・コードを検
出し、そのエレメント・コードについて上記したよう
に、6種類の接続テーブルを順不同に参照することによ
り、文法上意味のある全てのエレメントを抽出し、SFC
に対応するソース・ファイルを生成する。
は。まだ処理が終了していないエレメント・コードを検
出し、そのエレメント・コードについて上記したよう
に、6種類の接続テーブルを順不同に参照することによ
り、文法上意味のある全てのエレメントを抽出し、SFC
に対応するソース・ファイルを生成する。
尚、第9図に示したSFCの例は、ジャンプ処理がないた
め、第11図(f)に示すジャンプ合流接続テーブルには
何も設定されない。
め、第11図(f)に示すジャンプ合流接続テーブルには
何も設定されない。
更に、以上の接続テーブルが完成した際に、これらの接
続テーブル内において各エレメントに接続するエレメン
トが文法的に誤っている場合があり、これをチェックす
るため、第12図に示すような文法的に接続可能なエレメ
ントを表わすエラー・テーブルを別途設定しておき、こ
の「O」印以外のエレメント・コードが接続しているこ
とを検出すると、エラー(文法誤り)とする。
続テーブル内において各エレメントに接続するエレメン
トが文法的に誤っている場合があり、これをチェックす
るため、第12図に示すような文法的に接続可能なエレメ
ントを表わすエラー・テーブルを別途設定しておき、こ
の「O」印以外のエレメント・コードが接続しているこ
とを検出すると、エラー(文法誤り)とする。
以上の手順に従って、第9図に示すSFCについて生成さ
れたソースをまとめると、第13図のようなテキスト言語
形式のプログラムとなる。計算機は、実際にはこのテキ
スト形式のプログラムよりシーケンス処理を実行する。
尚、テキスト言語の形式、ソースに対応するテキスト・
コード群はこの例に限らず、種々のコードを応用するこ
とができる。
れたソースをまとめると、第13図のようなテキスト言語
形式のプログラムとなる。計算機は、実際にはこのテキ
スト形式のプログラムよりシーケンス処理を実行する。
尚、テキスト言語の形式、ソースに対応するテキスト・
コード群はこの例に限らず、種々のコードを応用するこ
とができる。
このようにして、SFCの図形言語プログラムから接続テ
ーブルを介してテキスト言語形式のプログラムに変換す
ることができる。
ーブルを介してテキスト言語形式のプログラムに変換す
ることができる。
<発明の効果> 以上述べたように、本発明のプログラム言語変換方法に
よれば、SFCによる図形言語を計算機システム内で自動
的にテキスト言語に変換でき、人手、時間がかからず、
効率良い方法を得ることができる。また、接続関係を調
べる際に自動的にエラー・チェックも行うため、処理効
率の向上を図ることができる。
よれば、SFCによる図形言語を計算機システム内で自動
的にテキスト言語に変換でき、人手、時間がかからず、
効率良い方法を得ることができる。また、接続関係を調
べる際に自動的にエラー・チェックも行うため、処理効
率の向上を図ることができる。
第1図は本発明を実施したプログラム言語変換方法の概
念図、第2図は本発明方法が対象とする図形言語SFCの
プリミティングとそのプリミティブ・コードとの対応を
表わす図、第3図はプリミティブ・コードとエレメント
・コードとの対応を表わす図、第4図は本発明方法にお
ける図形テーブルの構成図、第5図(a),(b),
(c)は本発明方法における各種接続テーブルの構成
図、第6図は第5図(a),(b),(c)に表わす接
続テーブルにおいて接続エレメントを検出する際のサー
チ手順を表わすフロー・チャート、第7図は各プリミテ
ィブと第6図のフローチャートにおける処理タイプとの
関係を表わすサーチ・テーブルの構成図、第8図は本発
明方法における接続テーブルからテキスト言語のソース
を生成する手順を表わすフローチャート、第9図は本発
明が対象とする図形言語SFCの編集例を表わす図、第10
図は第9図に示すSFCに対応する図形テーブルを表わす
図、第11図(a),(b),(c),(d),(e),
(f)は本発明の方法によって第10図の図形テーブルか
ら生成した各種接続テーブルを表わす図、第12図は本発
明方法におけるエラー・チェックの際に用いられるエラ
ー・テーブルの構成図、第13図は第9図に示すSFCを本
発明の方法によって変換したテキスト言語プログラムで
ある。 1……ディスク、2……記憶手段、21……図形イメー
ジ、 22……接続テーブル、23……変換プログラム、 3……ディスク。
念図、第2図は本発明方法が対象とする図形言語SFCの
プリミティングとそのプリミティブ・コードとの対応を
表わす図、第3図はプリミティブ・コードとエレメント
・コードとの対応を表わす図、第4図は本発明方法にお
ける図形テーブルの構成図、第5図(a),(b),
(c)は本発明方法における各種接続テーブルの構成
図、第6図は第5図(a),(b),(c)に表わす接
続テーブルにおいて接続エレメントを検出する際のサー
チ手順を表わすフロー・チャート、第7図は各プリミテ
ィブと第6図のフローチャートにおける処理タイプとの
関係を表わすサーチ・テーブルの構成図、第8図は本発
明方法における接続テーブルからテキスト言語のソース
を生成する手順を表わすフローチャート、第9図は本発
明が対象とする図形言語SFCの編集例を表わす図、第10
図は第9図に示すSFCに対応する図形テーブルを表わす
図、第11図(a),(b),(c),(d),(e),
(f)は本発明の方法によって第10図の図形テーブルか
ら生成した各種接続テーブルを表わす図、第12図は本発
明方法におけるエラー・チェックの際に用いられるエラ
ー・テーブルの構成図、第13図は第9図に示すSFCを本
発明の方法によって変換したテキスト言語プログラムで
ある。 1……ディスク、2……記憶手段、21……図形イメー
ジ、 22……接続テーブル、23……変換プログラム、 3……ディスク。
Claims (1)
- 【請求項1】シーケンシャル・ファンクション・チャー
トを用いて作成した図形言語によるプログラムをテキス
ト言語によるソース・ファイルに変換するプログラム言
語変換方法において、 (a)前記図形言語によるプログラムを構成する各プリ
ミティブを抽出し、記憶手段上の当該プリミティブが存
在する座標位置に、プリミティブ・コードと、予め定め
た当該プリミティブに対応するエレメント・コードと、
エレメント識別番号とを書き込んで図形テーブルを生成
する処理手順と、 (b)この図形テーブルを走査して特定エレメント・コ
ード毎に、その識別番号順に座標位置、当該エレメント
・コードに接続する他のエレメントの数及びそのエレメ
ント・コードとを設定する接続テーブルを生成する処理
手順と、 (c)この接続テーブルを相互に走査して抽出したエレ
メント・コードについて対応するソースを発生する処理
手順と からなるプログラム言語変換方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16834089A JPH0724022B2 (ja) | 1989-06-30 | 1989-06-30 | プログラム言語変換方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16834089A JPH0724022B2 (ja) | 1989-06-30 | 1989-06-30 | プログラム言語変換方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0334021A JPH0334021A (ja) | 1991-02-14 |
JPH0724022B2 true JPH0724022B2 (ja) | 1995-03-15 |
Family
ID=15866247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16834089A Expired - Fee Related JPH0724022B2 (ja) | 1989-06-30 | 1989-06-30 | プログラム言語変換方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0724022B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100367134B1 (ko) * | 1994-12-13 | 2003-03-12 | 유홍준 | 조립식소프트웨어설계부품과그조립및분해방법 |
JP2006344076A (ja) * | 2005-06-09 | 2006-12-21 | Nec Electronics Corp | プログラム生成装置、プログラム生成方法及びプログラム |
JP5416019B2 (ja) * | 2010-04-02 | 2014-02-12 | 旭化成エンジニアリング株式会社 | 異物検出装置及びこれを用いたシステム |
-
1989
- 1989-06-30 JP JP16834089A patent/JPH0724022B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0334021A (ja) | 1991-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0690378A1 (en) | Tool and method for diagnosing and correcting errors in a computer programm | |
JPH0724022B2 (ja) | プログラム言語変換方法 | |
JPH08329004A (ja) | アプリケーション・プログラム使用の端末操作性向上方法 | |
EP0315172B1 (en) | Automatic program generation method with a visual data structure display | |
KR20010103708A (ko) | 프로그램재생방법 및 장치 및 프로그램재생을 위한프로그램을 기록한 매체 | |
JPS63273938A (ja) | 図式プログラムエディタエラ−表示方式 | |
JP2500632B2 (ja) | プログラムパタ―ンカストマイズ方式 | |
JP3355660B2 (ja) | プログラム変換方法 | |
JP2982490B2 (ja) | Sfcプログラミング方式 | |
JPH09212630A (ja) | 図形作成装置 | |
JP3602416B2 (ja) | プログラムテキスト自動作成装置及び自動作成方法 | |
JP2749224B2 (ja) | デ−タ駆動型プログラム用性能解析装置 | |
JP3240647B2 (ja) | コンピュータ言語の構造化処理方式 | |
JPS6227867A (ja) | 画像デ−タ修正方式 | |
JPH06131409A (ja) | 設計支援装置及びその方法 | |
JPH0793144A (ja) | プログラム解析装置 | |
CN115906770A (zh) | Json数据etl过程图形化表示方法及终端 | |
JPH0462410A (ja) | 測定支援装置 | |
JPH06259507A (ja) | 図形分割装置 | |
JPH0370079A (ja) | Cad寸法線一括生成方式 | |
JPH03198164A (ja) | 対話型図形処理装置 | |
JPS62135958A (ja) | シミユレ−シヨン方式 | |
JPH03235124A (ja) | ルールベース構築方式 | |
JPS61279908A (ja) | ロボツトの教示方法 | |
JPH04112379A (ja) | 画像端点再追跡方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090315 Year of fee payment: 14 |
|
LAPS | Cancellation because of no payment of annual fees |