JP5666758B1 - 情報処理装置、情報処理方法、プログラム、記憶媒体 - Google Patents
情報処理装置、情報処理方法、プログラム、記憶媒体 Download PDFInfo
- Publication number
- JP5666758B1 JP5666758B1 JP2014547205A JP2014547205A JP5666758B1 JP 5666758 B1 JP5666758 B1 JP 5666758B1 JP 2014547205 A JP2014547205 A JP 2014547205A JP 2014547205 A JP2014547205 A JP 2014547205A JP 5666758 B1 JP5666758 B1 JP 5666758B1
- Authority
- JP
- Japan
- Prior art keywords
- function
- character
- connection
- programming language
- discriminant
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
文字データで構成された関数と接続文字とが組み合わされたテキストベースのプログラミング言語データであって、テキストエディタによる表示空間上での接続文字を基準とした各関数の位置関係によって各関数の関連性が定義されたプログラミング言語データ(テキストVPL)について、該プログラミング言語データにおける文字列から関数と接続文字とを切り分け、前記表示空間上の前記位置関係から各関数の関連性を解釈する。テキストVPLの解釈を可能とすることで、テキストVPLに従った処理をコンピュータ装置にて実行可能とでき、汎用性の高いプログラミング環境を実現できると共に、プログラムデータサイズの縮小化を図ることができる。
Description
VPLによるプログラム作成は、プログラムエディタにより提供される表示空間上にてプログラムオブジェクトを配置し、プログラムオブジェクト間を接続線により接続する等によりプログラムオブジェクト間の関係を関連付けることで行われる。
VPLは、例えばC言語等の他の非VPLプログラミング言語と比較して、プログラム内容を直感的に理解し易く、編集もし易いという利点がある。
また、テキストデータ以外に、例えば上記の「箱」のようなプログラムオブジェクトである旨を視覚的に分かり易く表すための特殊な属性によるデータも用いるため、C言語等のテキストデータのみで作成可能なプログラミング言語と比較してプログラムのデータサイズが大きくなってしまうという問題もある。
み合わされたテキストベースのプログラミング言語データであって、テキストエ
ディタによる表示空間上での前記接続文字を基準とした各前記関数の位置関係に
よって各前記関数の関連性が定義され、前記関数には、判別処理を表す判別関数
があり、前記接続文字には、前記表示空間上における横方向に離間した前記関数
間を接続する第一接続文字と縦方向に離間した前記関数間を接続する第二接続文
字とがあるプログラミング言語データを記憶する記憶部を備える。
また、前記プログラミング言語データにおける文字列から前記関数と前記接続
文字とを切り分け、前記表示空間上の前記位置関係から各前記関数の関連性を解
釈する処理として、前記プログラミング言語データにおける各行ごとに文字デー
タの種類を一文字ずつ識別して前記関数と前記接続文字の切り分けを行い、前記
関数が前記判別関数であるか否かを判別し、前記判別関数としての関数について
は、該関数に対し前記第一接続文字を介して右側に接続された関数をYes分岐
又はNo分岐のうち一方の分岐後の関数として関連付けし、該関数に対し前記第
二接続文字を介して下側に接続された関数をYes分岐又はNo分岐のうち他方
の分岐後の関数として関連付けする処理を行う解釈処理部を備えるものである。
キストエディタによる表示空間上における接続文字を基準とした各関数の位置関
係によってそれら関数間の関連性が視覚的に理解し易く表される。つまり、ビジ
ュアルプログラミング言語(以下「VPL(Visual Programming Language)」と表
記する)として機能する。このようなテキストベースのVPL(以下「テキスト
VPL」と表記)は、プログラムの作成・編集にあたり専用のソフトウェアを必
要とせず、汎用性の高いプログラミング環境を実現できる。また、テキストベー
スであるため、プログラムデータサイズも比較的小さくできる。
本発明の情報処理装置は、このようなテキストVPLを用いたプログラミング
環境を実現するべく、テキストVPLの解釈を可能としたものである。特に、視
覚的にフローチャートとして表されたプログラムの解釈を可能としたものである。
記判別関数であるか否かを、前記関数内の所定文字の有無により判別することが
望ましい。
記横方向に連続配置されている前記第一接続文字、前記縦方向に連続配置されて
いる前記第二接続文字を一体として扱うことが望ましい。
前記関数の関連性を解釈した結果に基づいて、機械語へ変換する前段階のコード
としての中間コードを生成することが望ましい。
前記関数の単位に基づく所定のモジュール単位で逐次実行させる制御を行う実行
制御部を備えることが望ましい。
とが組み合わされたテキストベースのプログラミング言語データであって、テキ
ストエディタによる表示空間上での前記接続文字を基準とした各前記関数の位置
関係によって各前記関数の関連性が定義され、前記関数には、判別処理を表す判
別関数があり、前記接続文字には、前記表示空間上における横方向に離間した前
記関数間を接続する第一接続文字と縦方向に離間した前記関数間を接続する第二
接続文字とがあるプログラミング言語データを記憶する記憶部を備えた情報処理
装置における情報処理方法であって、前記プログラミング言語データにおける文
字列から前記関数と前記接続文字とを切り分け、前記表示空間上の前記位置関係
から各前記関数の関連性を解釈する処理として、前記プログラミング言語データ
における各行ごとに文字データの種類を一文字ずつ識別して前記関数と前記接続
文字の切り分けを行い、前記関数が前記判別関数であるか否かを判別し、前記判
別関数としての関数については、該関数に対し前記第一接続文字を介して右側に
接続された関数をYes分岐又はNo分岐のうち一方の分岐後の関数として関連
付けし、該関数に対し前記第二接続文字を介して下側に接続された関数をYes
分岐又はNo分岐のうち他方の分岐後の関数として関連付けする処理を行う解釈
手順を有する情報処理方法である。
様に、テキストVPLを用いたプログラミング環境を実現するべく、テキストV
PLの解釈を可能としたものである。特に、視覚的にフローチャートとして表さ
れたプログラムの解釈を可能としたものである。
さらにまた、本発明に係る記憶媒体は、上記プログラムを記憶したプログラムである。これらのプログラムや記憶媒体により上記の情報処理装置を実現する。
に従った処理をコンピュータ装置にて実行可能とでき、テキストVPLを用いた
プログラミング環境を実現できる。
従って、汎用性の高いプログラミング環境を実現できると共に、プログラムデ
ータサイズの縮小化を図ることができる。
また、フローチャートという視覚的により理解のし易い形態でプログラムを作
成・編集することを許容でき、プログラムの作成・編集の容易性向上を図ること
ができる。
<1.ネットワークシステム>
<2.コンピュータ装置のハードウェア構成>
<3.テキストVPL>
<4.テキストVPLの解釈及び処理の実行制御について>
<5.処理手順>
<6.実施の形態のまとめ>
<7.プログラム及び記憶媒体>
<8.変形例>
図1に、本実施の形態で前提とするネットワークシステム1の例を示す。このネットワークシステム1はEC(EC:electronic commerce(電子商取引))システムとして機能する。
ネットワークシステム1は、例えばインターネットとしてのネットワーク2を介して、ショッピングサイト管理システム3、複数のユーザ端末4,4…、複数の店舗端末5,5…が互いに通信可能に構成されている。
ユーザ端末4は、HTTP(Hypertext Transfer Protocol)リクエストをショッピングサイト運営システム3に送信することでウェブページや所定の処理を要求する。またユーザ端末4は、HTTPリクエストに応じて送られてきたウェブページを受信してウェブブラウザ上に表示する。これにより、ユーザは所望のウェブページを閲覧したり操作したりすることができる。
このような商品DB3bにより、例えば入力キーワード等に基づいた商品検索等を行うことが可能とされている。
本例の場合、動作テストとしては、前述した広告データの出し分けにあたって表示候補の広告データのうち何れの広告データを表示すべきかをテストする比較テスト(いわゆるA/Bテスト)の形式で行われる。具体的に、この場合のA/Bテストとしては、例えば「男性」に対応する広告データの候補として「車」「時計」の広告データが存在する場合において、ウェブページを閲覧する会員が「男性」であった場合に当該ウェブページに「車」の広告データを表示させてその反応の評価結果を得ると共に、「時計」の広告データを表示させてその反応の評価結果を得、評価結果が良好であった方の広告データを表示すべき広告データとして選定するなどといった形態で行われる。このとき、「評価結果」としては、例えば表示広告についてのCTR(Click Through Rate)を挙げることができる。或いは、当該広告データに商品ウェブページへのリンクが貼られている場合等には、該当商品についてのCVR(Conversion Rate)とすることもできる。
なお、制御端末3dが実行する具体的な処理については後に改めて説明する。
またネットワーク2の全部又は一部を構成する伝送媒体についても多様な例が想定される。例えばIEEE(Institute of Electrical and Electronics Engineers)1394、USB(Universal Serial Bus)、電力線搬送、電話線等の有線でも、IrDA(Infrared Data Association)のような赤外線、ブルートゥース(登録商標)、802.11無線、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。
図2に、図1で示した制御端末3dをはじめとした各装置(ショッピングサーバ3a、商品DB3b、会員DB3c、ユーザ端末4、店舗端末5)を構成するコンピュータ装置のハードウェア構成を示す。
図2において、コンピュータ装置のCPU(Central Processing Unit)101は、ROM( Read Only Memory)102に記憶されているプログラム、または記憶部108からRAM( Random Access Memory )103にロードされたプログラムに従って各種の処理を実行する。RAM103にはまた、CPU101が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU101、ROM102、及びRAM103は、バス104を介して相互に接続されている。このバス104には、入出力インターフェース105も接続されている。
入出力インターフェース105には、キーボード、マウス、タッチパネルなどよりなる入力装置106、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、有機EL(Electroluminescence)パネルなどよりなるディスプレイ(表示装置)、並びにスピーカなどよりなる出力装置107、HDD(Hard Disk Drive)やフラッシュメモリ装置などより構成される記憶部108、外部装置との間で相互通信を行うための通信部109が接続されている。
入出力インターフェース105にはまた、必要に応じてメディアドライブ110が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア111が適宜装着され、リムーバブルメディア111に対する情報の書込や読出が行われる。
CPU101が各種のプログラムに基づいて処理動作を行うことで、特に制御端末3dとしてのコンピュータ装置においては以降で説明する情報処理や通信が実行される。
本実施の形態においては、例えば前述した表示広告についてのA/Bテスト時などにショッピングサーバ3aに所定の処理を実行させる際に、そのためのプログラムが制御端末3dを用いて作成される。
A/Bテスト時には、表示広告を切り替えるためにプログラムの該当箇所の編集を要するが、テスト時にプログラム作成を専門職とするエンジニアが同席しているとは限らず、エンジニア以外のスタッフがプログラムの編集を容易に行うことのできる環境が望まれている。
テキストVPLは、文字データで構成された関数と接続文字とが組み合わされたテキストベースのプログラミング言語データであって、テキストエディタによる表示空間上での接続文字を基準とした各関数の位置関係によって各関数の関連性が定義されたものである。
関数が表す処理の内容については、例えば図中「isOver30」と表記される判別関数としては年齢が30歳以上であるか否かの判別処理を表しており、図中「giveCarnation」の通常関数としてはカーネーションに関する広告データを表示させるための処理を表している。
・「−」:同一の行内において、二つの関数の間に配置する
・「|」:縦方向において、異なる行に配置される二つの関数の間の行に配置すると共に、それら二つの関数と該「|」が縦方向において重なるように配置する
ことで行う。
このような「接続」が行われるように、プログラムの作成・編集者は、「空白」としての文字データや「改行」としての制御文字データを用いて接続文字や関数の位置を調整することになる。
なお、「空白」については、スペースキーによる1文字分の空白、Tabキー等による複数文字分の空白の何れが用いられてもよい。
後述するように、連続配置された接続文字は、プログラムの解釈時においてそれら複数の接続文字が一体として扱われ、単体の接続文字と等価なものとして扱われる。例えば、図中「isOver30」と「isMan」の関数間を接続する「−」「−」は一体として扱われるので、「isMan」と「Car」の関数間を接続する単体の「−」と等価に扱われる。また、例えば図中「isOver30」と「isOver20」の関数間を接続する連続した「|」も一体として扱われるため、「is14thFeb」と「giveRose」の関数間を接続する単体の「|」と等価に扱われる。
・判別関数に対し「−」を介して右側に接続された関数は、該判別関数のYes分岐後の関数である
・判別関数に対し「|」を介して下側に接続された関数は、該判別関数のNo分岐後の関数である
・通常関数に対し「−」を介して右側に接続された関数は、該通常関数の処理に続けて実行される関数である
図4は、テキストVPLで記述されたプログラムに従った処理をショッピングサーバ3aに実行させるための構成について説明するための図であり、制御端末3d内のCPU101及び記憶部108と、ショッピングサーバ3a内のCPU101とを示している。
図4では、制御端末3d、ショッピングサーバ3aのそれぞれにおけるCPU101が有する機能をブロック図により表している。図のように制御端末3dのCPU101は、プログラム作成・編集処理部10、パース処理部11、実行制御部12としての機能を有し、ショッピングサーバ3aのCPU101はバーチャルマシン20、処理実行部21としての機能を有している。
この図5に示すように、本例では、中間コード15としてC言語によるコードを生成している。
このようにプログラムの該当箇所を逐次書き替えるA/Bテスト施行時において、仮にAOTコンパイラのように対象コード全体を機械語に変換する手法を採ってしまうと、該プログラムに従った処理の開始までに長時間を要してしまい、テストをスムーズに行えず望ましくない。このため、本実施の形態では、JITコンパイラやインタープリタのように処理の実行時に対象コードの必要部分のみを逐次機械語に変換する手法を採っている。これにより、プログラム修正に柔軟に対応可能とでき、A/Bテストやその他動作確認などに最適な環境を提供できる。
続いて、パース処理部11がテキストVPLを解釈するにあたって実行する具体的な処理の手順を図6及び図7のフローチャートを参照して説明する。
なお、図6及び図7に示す処理は、制御端末3dのCPU101が例えばROM102等の所要の記憶部に記憶されたプログラムに従って実行するものである。
ステップS104において、取得したデータが「空白」「−」「|」「改行」以外であった場合、CPU101はステップS105に進んでデータとその位置情報(n行目のm文字目)を保持し、ステップS127で文字位置識別子mをインクリメント(+1)した上で、ステップS103に戻る。
このように取得したデータが「空白」「−」「|」「改行」以外であった場合は、該データとその位置情報が保持された上で、n行目における次の文字位置のデータが取得される。
「−」でなかった場合、CPU101はステップS107で該取得したデータが「|」であるか否かを判別し、「|」でなかった場合は、ステップS108で該取得したデータが「改行」であるか否かを判別する。
つまり、これらステップS106〜S108によっては、ステップS103で取得したデータが「空白」「−」「|」「改行」の何れであるかが判定される。
図7において、CPU101はステップS109で、取得した「−」のデータの位置情報を保持した上で、続くステップS110で該「−」の左側も「−」であるか否かを判別する。左側も「−」であれば、CPU101はステップS111に進んで取得した「−」とその左側の「−」とを一体登録し、図6に示したステップS127に進む。
つまり、連続配置された「−」が一体登録された後、次の文字位置のデータ取得が為される。
一方、抽出した関数が判別関数であった場合、CPU101はステップS115で該関数を判別関数として登録し、ステップS116に進む。
左側に「−」がなかった場合、CPU101はステップS120に進む。
一方、左側に「−」があった場合、CPU101はステップS117で該「−」の左側の関数が判別関数であるか否かを判別し、判別関数であった場合は、ステップS118で登録関数(ステップS114又はS115で登録した関数)を上記左側の関数(判別関数)のYes分岐後の関数として関連付け、ステップS120に進む。
また、該「−」の左側の関数が判別関数でなかった場合、CPU101はステップS119で登録関数を上記左側の関数(通常関数)の次の実行する関数として関連付け、ステップS120に進む。
一方、登録関数の上に「|」がなかった場合、CPU101はステップS121をパスしてステップS127に進む。
これにより、例えば図3における関数「isOver30」と関数「isOver20」の関係のように、一方の関数(「isOver20」)の上側の接続文字「|」のさらに上側に判別関数(「isOver30」)が接続されている場合には、該一方の関数が該判別関数のNo分岐後の関数として関連付けられる。
ステップS107において、ステップS103で取得したデータが「|」であった場合、CPU101はステップS122に進んで該「|」の位置情報を保持した上で、ステップS123で該「|」の上に関数があるか否かを判別する。
「|」の上に関数がなかった場合、CPU101はステップS124に進んで「|」の上が「|」であるか否かを判別し、「|」の上が「|」であった場合は、ステップS125でそれら「|」を一体登録し、ステップS127に進む。
また、「|」の上が「|」でなかった場合(つまり「|」の上が関数でも「|」でもない場合)、CPU101はステップS125をパスしてステップS127に進む。なお、テキストVPLの記述ルールでは、このように「|」の上が関数でも「|」でもないことは許容されていない。
n行目にデータが存在する場合、CPU101は先のステップS102に戻って文字位置識別子mの値を0リセットする。すなわち、処理が次の行の0文字目に移行する。
また、n行目にデータが存在しなければ、CPU101は図6及び図7に示した処理を終了する。
上記のように本実施の形態の情報処理装置(制御端末3d)は、文字データで構成された関数と接続文字とが組み合わされたテキストベースのプログラミング言語データ(テキストVPLプログラム13)であって、テキストエディタによる表示空間上での接続文字を基準とした各関数の位置関係によって各関数の関連性が定義されたプログラミング言語データを記憶する記憶部(記憶部108)と、前記プログラミング言語データにおける文字列から関数と接続文字とを切り分け、前記表示空間上の前記位置関係から各関数の関連性を解釈する解釈処理部(パース処理部11)とを備えている。
本実施の形態の情報処理装置は、このようなテキストVPLによるプログラミング環境を実現するべく、テキストVPLの解釈を可能としたものである。
テキストVPLの解釈を可能とすることで、テキストVPLに従った処理をコンピュータ装置にて実行可能とでき、テキストVPLを用いたプログラミング環境を実現できる。
すなわち、テキストVPLを用いた汎用性の高いプログラミング環境を実現できると共に、プログラムデータサイズの縮小化を図ることができる。
この前提の下で、本実施の形態の情報処理装置においては、解釈処理部は、プログラミング言語データにおける各行ごとに文字データの種類を一文字ずつ識別して関数と接続文字の切り分けを行い、関数が判別関数であるか否かを判別し、判別関数としての関数については、該関数に対し第一接続文字を介して右側に接続された関数をYes分岐又はNo分岐のうち一方の分岐後の関数として関連付けし、該関数に対し第二接続文字を介して下側に接続された関数をYes分岐又はNo分岐のうち他方の分岐後の関数として関連付けしている。
従って、フローチャートという視覚的により理解のし易い形態でプログラムを作成・編集することを許容でき、プログラムの作成・編集の容易性向上を図ることができる。
しかしながら、このように「−」「|」の双方の接続関数で他の関数と接続されている関数であるか否かを判別しようとすると、判別関数か否かの判別にあたり、対象の関数の1行下までを読み込む必要があり、その結果、判別関数か否かの判別に要する処理負担の増大化を招いてしまう。
そこで、上記のように関数内の所定文字の有無で判別関数か否かの判別を行うようにすることで、判別関数か否かの判別にあたり対象関数の1行下までを読み込む必要がなくなるようにしている。
従って、判別関数か否かの判別に要する処理負担の増大化防止を図ることができる。
ここで、先の図3に示したように、プログラムをフローチャートとして記述する場合において、第一の判別関数(例えば図3中「isOver30」)のYes分岐後に第二の判別関数(「isMan」)が配置され、第一の判別関数のNo分岐後に第三の判別関数(「isOVER20」)が配置されているようなケースを想定する。この場合において、仮に接続文字の連続配置が許容されていないとすると、第二の判別関数のNo分岐後の関数(「is14thFeb」)の配置位置と、第三の判別関数のYes分岐後の関数(「isSweetsLover」)の配置位置とが重複し、当該第三の判別関数のYes分岐後の関数を配置することが不能となる虞がある。
例えばこのようなケースにおいて、第二接続文字(「|」)の連続配置が許容されることで、第三の判別関数を第一の判別関数の複数行下に配置することが可能となり、関数の配置位置重複を防止できる。従って、プログラムの作成・編集の自由度の向上を図ることができる。
また、第一接続文字(「−」)及び第二接続文字の連続配置が許容されることで、関数の横方向及び縦方向における配置位置を調整することが可能とされる。従って、視覚的に見易いフローチャートの作成が可能となり、プログラム内容の視覚的な理解し易さの向上を図ることができる。
テキストVPLから直接的に機械語に変換するのではなく、中間コードを介した変換とすることで、機械語の生成にあたり既存のインタープリタやコンパイラを用いることが可能となる。従って、この点でも汎用性の向上を図ることができる。
プログラム修正に柔軟に対応可能であることで、前述したA/Bテストや各種動作確認などに最適な環境を提供することができる。
また、中間コードの全てを機械語に変換する必要性がなくなることで、処理の実行開始までに要する時間の短縮化が図られると共に、機械語への変換に要する処理負担(本実施の形態ではショッピングサーバ3aの処理負担)の軽減を図ることができる。
この際、本実施の形態のようにテキストVPLを用いたプログラム作成・編集を行う装置(制御端末3d)とプログラムに基づく処理を実行する装置(ショッピングサーバ3a)とが異なる場合には、判別関数に基づく判別処理の結果がショッピングサーバ3aから制御端末3dにフィードバックされるように構成しておき、実行制御部12が該判別結果に基づき中間コード15のうち必要とされるコードのみをショッピングサーバ3a(バーチャルマシン20)に逐次送信し、機械語に変換させる。
なお、テキストVPLを用いたプログラム作成・編集を行う装置とプログラムに基づく処理を実行する装置は同一装置であってもよく、その場合には、上記のように判別結果を別装置からフィードバックする構成は不要である。
以上、本発明に係る情報処理装置の実施の形態としての制御端末3dを説明してきたが、本実施の形態のプログラムは、制御端末3dの処理を情報処理装置(CPU等)に実行させるプログラムである。
すなわち、このプログラムは、情報処理装置(制御端末3d)に図6や図7で説明した処理を実行させるプログラムに相当する。
そして、このようなプログラムはコンピュータ装置等の機器に内蔵されている記憶媒体としてのHDDや、CPUを有するマイクロコンピュータ内のROM等に予め記憶しておくことができる。或いはまた、半導体メモリ、メモリカード、光ディスク、光磁気ディスク、磁気ディスクなどのリムーバブル記憶媒体に、一時的あるいは永続的に格納(記憶)しておくことができる。またこのようなリムーバブル記憶媒体は、いわゆるパッケージソフトウェアとして提供することができる。
また、このようなプログラムは、リムーバブル記憶媒体からパーソナルコンピュータ等にインストールする他、ダウンロードサイトから、LAN、インターネットなどのネットワークを介してダウンロードすることもできる。
本発明は上記により説明した具体例に限定されず、各種の変形例が考えられる。
例えば上記では、テキストVPLによるプログラム(ソースコード)を中間コードに変換した上で機械語に変換する例を挙げたが、テキストVPLによるプログラムから直接的に機械語に変換することもできる。
さらに、判別関数か否かを判別する手法については、上記で例示したように関数内の所定文字の有無で判別する手法に限らず、対象とする関数が第一接続文字及び第二接続文字の双方で他の関数と接続されているか否かを判別するなど、他の手法で判別することもできる。
Claims (8)
- 文字データで構成された関数と接続文字とが組み合わされたテキストベースの
プログラミング言語データであって、テキストエディタによる表示空間上での前
記接続文字を基準とした各前記関数の位置関係によって各前記関数の関連性が定
義され、前記関数には、判別処理を表す判別関数があり、前記接続文字には、前
記表示空間上における横方向に離間した前記関数間を接続する第一接続文字と縦
方向に離間した前記関数間を接続する第二接続文字とがあるプログラミング言語
データを記憶する記憶部と、
前記プログラミング言語データにおける文字列から前記関数と前記接続文字と
を切り分け、前記表示空間上の前記位置関係から各前記関数の関連性を解釈する
処理として、前記プログラミング言語データにおける各行ごとに文字データの種
類を一文字ずつ識別して前記関数と前記接続文字の切り分けを行い、前記関数が
前記判別関数であるか否かを判別し、前記判別関数としての関数については、該
関数に対し前記第一接続文字を介して右側に接続された関数をYes分岐又はN
o分岐のうち一方の分岐後の関数として関連付けし、該関数に対し前記第二接続
文字を介して下側に接続された関数をYes分岐又はNo分岐のうち他方の分岐
後の関数として関連付けする処理を行う解釈処理部と、を備える
情報処理装置。 - 前記解釈処理部は、
前記判別関数であるか否かを、前記関数内の所定文字の有無により判別する
請求項1に記載の情報処理装置。 - 前記解釈処理部は、
前記横方向に連続配置されている前記第一接続文字、前記縦方向に連続配置さ
れている前記第二接続文字を一体として扱う
請求項1に記載の情報処理装置。 - 前記解釈処理部は、
各前記関数の関連性を解釈した結果に基づいて、機械語へ変換する前段階のコ
ードとしての中間コードを生成する
請求項1に記載の情報処理装置。 - 前記中間コードに従った処理を前記関数の単位に基づく所定のモジュール単位
で逐次実行させる制御を行う実行制御部を備える
請求項4に記載の情報処理装置。 - 文字データで構成された関数と接続文字とが組み合わされたテキストベースの
プログラミング言語データであって、テキストエディタによる表示空間上での前
記接続文字を基準とした各前記関数の位置関係によって各前記関数の関連性が定
義され、前記関数には、判別処理を表す判別関数があり、前記接続文字には、前
記表示空間上における横方向に離間した前記関数間を接続する第一接続文字と縦
方向に離間した前記関数間を接続する第二接続文字とがあるプログラミング言語
データを記憶する記憶部を備えた情報処理装置における情報処理方法であって、
前記プログラミング言語データにおける文字列から前記関数と前記接続文字と
を切り分け、前記表示空間上の前記位置関係から各前記関数の関連性を解釈する
処理として、前記プログラミング言語データにおける各行ごとに文字データの種
類を一文字ずつ識別して前記関数と前記接続文字の切り分けを行い、前記関数が
前記判別関数であるか否かを判別し、前記判別関数としての関数については、該
関数に対し前記第一接続文字を介して右側に接続された関数をYes分岐又はN
o分岐のうち一方の分岐後の関数として関連付けし、該関数に対し前記第二接続
文字を介して下側に接続された関数をYes分岐又はNo分岐のうち他方の分岐
後の関数として関連付けする処理を行う解釈手順を有する
情報処理方法。 - 文字データで構成された関数と接続文字とが組み合わされたテキストベースの
プログラミング言語データであって、テキストエディタによる表示空間上での前
記接続文字を基準とした各前記関数の位置関係によって各前記関数の関連性が定
義され、前記関数には、判別処理を表す判別関数があり、前記接続文字には、前
記表示空間上における横方向に離間した前記関数間を接続する第一接続文字と縦
方向に離間した前記関数間を接続する第二接続文字とがあるプログラミング言語
データを記憶する記憶部を備えた情報処理装置に処理を実行させるプログラムで
あって、
前記プログラミング言語データにおける文字列から前記関数と前記接続文字と
を切り分け、前記表示空間上の前記位置関係から各前記関数の関連性を解釈する
処理として、前記プログラミング言語データにおける各行ごとに文字データの種
類を一文字ずつ識別して前記関数と前記接続文字の切り分けを行い、前記関数が
前記判別関数であるか否かを判別し、前記判別関数としての関数については、該
関数に対し前記第一接続文字を介して右側に接続された関数をYes分岐又はN
o分岐のうち一方の分岐後の関数として関連付けし、該関数に対し前記第二接続
文字を介して下側に接続された関数をYes分岐又はNo分岐のうち他方の分岐
後の関数として関連付けする処理を行う解釈処理
を前記情報処理装置に実行させる
プログラム。 - 文字データで構成された関数と接続文字とが組み合わされたテキストベースの
プログラミング言語データであって、テキストエディタによる表示空間上での前
記接続文字を基準とした各前記関数の位置関係によって各前記関数の関連性が定
義され、前記関数には、判別処理を表す判別関数があり、前記接続文字には、前
記表示空間上における横方向に離間した前記関数間を接続する第一接続文字と縦
方向に離間した前記関数間を接続する第二接続文字とがあるプログラミング言語
データを記憶する記憶部を備えた情報処理装置に処理を実行させるプログラムを
記憶した記憶媒体であって、
前記プログラミング言語データにおける文字列から前記関数と前記接続文字と
を切り分け、前記表示空間上の前記位置関係から各前記関数の関連性を解釈する
処理として、前記プログラミング言語データにおける各行ごとに文字データの種
類を一文字ずつ識別して前記関数と前記接続文字の切り分けを行い、前記関数が
前記判別関数であるか否かを判別し、前記判別関数としての関数については、該
関数に対し前記第一接続文字を介して右側に接続された関数をYes分岐又はN
o分岐のうち一方の分岐後の関数として関連付けし、該関数に対し前記第二接続
文字を介して下側に接続された関数をYes分岐又はNo分岐のうち他方の分岐
後の関数として関連付けする処理を行う解釈処理
を前記情報処理装置に実行させるプログラムを記憶した
記憶媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2014/066823 WO2015198419A1 (ja) | 2014-06-25 | 2014-06-25 | 情報処理装置、情報処理方法、プログラム、記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5666758B1 true JP5666758B1 (ja) | 2015-02-12 |
JPWO2015198419A1 JPWO2015198419A1 (ja) | 2017-04-20 |
Family
ID=52569488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014547205A Active JP5666758B1 (ja) | 2014-06-25 | 2014-06-25 | 情報処理装置、情報処理方法、プログラム、記憶媒体 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10073680B2 (ja) |
JP (1) | JP5666758B1 (ja) |
TW (1) | TWI528289B (ja) |
WO (1) | WO2015198419A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017022041A1 (ja) * | 2015-07-31 | 2017-02-09 | 楽天株式会社 | 木構造データ編集装置、木構造データ編集方法、及びプログラム |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109800020B (zh) * | 2019-02-02 | 2023-02-10 | 北京字节跳动网络技术有限公司 | 一种程序开发的代码自动调整方法、装置、设备和介质 |
CN109992263B (zh) * | 2019-04-05 | 2022-09-13 | 腾讯科技(深圳)有限公司 | 一种执行可视化编程的方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60100226A (ja) * | 1983-10-17 | 1985-06-04 | Fujitsu Ltd | 木構造チヤ−ト・テキスト処理装置 |
JPH06282420A (ja) * | 1993-03-29 | 1994-10-07 | Nippon Telegr & Teleph Corp <Ntt> | プロセス起動制御方法 |
US20020007483A1 (en) * | 1997-01-29 | 2002-01-17 | Lopez Luis R. | Interactive flow visualization, graphical editing and analysis of textual languages |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5410331A (en) * | 1992-05-20 | 1995-04-25 | Carmex, Inc. | Process for generating and/or using a look-up table |
US5537630A (en) * | 1994-12-05 | 1996-07-16 | International Business Machines Corporation | Method and system for specifying method parameters in a visual programming system |
US7661096B2 (en) * | 2004-02-13 | 2010-02-09 | Microsoft Corporation | Interaction with nested and non-nested streams |
US7937694B2 (en) * | 2004-02-13 | 2011-05-03 | Microsoft Corporation | Fast flattening of nested streams |
JP3805776B2 (ja) | 2004-02-26 | 2006-08-09 | 三菱電機株式会社 | グラフィカルプログラミング装置及びプログラマブル表示器 |
JP2005309593A (ja) | 2004-04-19 | 2005-11-04 | Mitsubishi Electric Corp | プログラム作成装置及びプログラム作成方法 |
EP1610219A1 (de) * | 2004-06-23 | 2005-12-28 | Renner, Peter | Programmiersystem |
US7797739B2 (en) * | 2004-12-14 | 2010-09-14 | International Business Machines Corporation | Automated verification of correctness of aspects of an information technology system |
US20080271001A1 (en) * | 2006-09-11 | 2008-10-30 | Yo Nonomura | Method of generating program, information processing device and microcomputer |
US20090037876A1 (en) * | 2007-07-31 | 2009-02-05 | Microsoft Corporation | Visible white space in program code |
US8468511B2 (en) * | 2008-12-31 | 2013-06-18 | International Business Machines Corporation | Use of name mangling techniques to encode cross procedure register assignment |
US8327321B2 (en) * | 2009-01-31 | 2012-12-04 | Ted J. Biggerstaff | Synthetic partitioning for imposing implementation design patterns onto logical architectures of computations |
GB0908913D0 (en) * | 2009-05-26 | 2009-07-01 | Univ Dundee | Software development tool |
US9250925B2 (en) * | 2010-04-13 | 2016-02-02 | Sybase, Inc. | Adding inheritance support to a computer programming language |
US9182962B2 (en) * | 2010-12-09 | 2015-11-10 | Todd Bradley KNEISEL | Method for translating a cobol source program into readable and maintainable program code in an object oriented second programming language |
WO2013018204A1 (ja) * | 2011-08-03 | 2013-02-07 | 株式会社日立製作所 | 画像処理ソフトウェア開発方法、画像処理ソフトウェア開発装置、および、画像処理ソフトウェア開発プログラム |
US9342277B2 (en) * | 2013-03-14 | 2016-05-17 | Oracle International Corporation | Method of searching data associated with nodes of a graphical program |
US11061539B2 (en) * | 2013-03-15 | 2021-07-13 | The Mathworks, Inc. | Reference nodes in a computational graph |
-
2014
- 2014-06-25 US US15/306,864 patent/US10073680B2/en active Active
- 2014-06-25 WO PCT/JP2014/066823 patent/WO2015198419A1/ja active Application Filing
- 2014-06-25 JP JP2014547205A patent/JP5666758B1/ja active Active
-
2015
- 2015-05-06 TW TW104114399A patent/TWI528289B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60100226A (ja) * | 1983-10-17 | 1985-06-04 | Fujitsu Ltd | 木構造チヤ−ト・テキスト処理装置 |
JPH06282420A (ja) * | 1993-03-29 | 1994-10-07 | Nippon Telegr & Teleph Corp <Ntt> | プロセス起動制御方法 |
US20020007483A1 (en) * | 1997-01-29 | 2002-01-17 | Lopez Luis R. | Interactive flow visualization, graphical editing and analysis of textual languages |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017022041A1 (ja) * | 2015-07-31 | 2017-02-09 | 楽天株式会社 | 木構造データ編集装置、木構造データ編集方法、及びプログラム |
JP6162909B2 (ja) * | 2015-07-31 | 2017-07-12 | 楽天株式会社 | 木構造データ編集装置、木構造データ編集方法、及びプログラム |
JPWO2017022041A1 (ja) * | 2015-07-31 | 2017-08-03 | 楽天株式会社 | 木構造データ編集装置、木構造データ編集方法、及びプログラム |
US11055069B2 (en) | 2015-07-31 | 2021-07-06 | Rakuten, Inc. | Tree structure data editing device, tree structure data editing method, and program |
Also Published As
Publication number | Publication date |
---|---|
TW201545066A (zh) | 2015-12-01 |
JPWO2015198419A1 (ja) | 2017-04-20 |
WO2015198419A1 (ja) | 2015-12-30 |
TWI528289B (zh) | 2016-04-01 |
US20170046133A1 (en) | 2017-02-16 |
US10073680B2 (en) | 2018-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11294968B2 (en) | Combining website characteristics in an automatically generated website | |
US9081769B2 (en) | Providing translation assistance in application localization | |
CN101743544A (zh) | 跨语言信息检索 | |
CN103827857A (zh) | 个人化内容递送系统和方法 | |
WO2012176507A1 (ja) | 情報提供装置、情報提供方法、情報提供プログラム、情報表示プログラム、及び情報提供プログラムを記憶するコンピュータ読取可能な記録媒体 | |
US20170109442A1 (en) | Customizing a website string content specific to an industry | |
CN106951495A (zh) | 用于呈现信息的方法和装置 | |
CN102141868A (zh) | 快捷操作信息交互页面的方法、输入法系统和浏览器插件 | |
CN104679642A (zh) | 日志分析系统中的日志的与语言无关的处理方法和系统 | |
JP5666758B1 (ja) | 情報処理装置、情報処理方法、プログラム、記憶媒体 | |
WO2016016994A1 (ja) | 情報処理装置、情報処理方法、プログラム、記憶媒体 | |
KR101585755B1 (ko) | 그루핑 지원 프로그램을 저장하는 컴퓨터 판독 가능한 기억 매체, 그루핑 지원 방법 및 그루핑 지원 서버 | |
JP2009282745A (ja) | ウェブページの入力項目への入力を支援する方法、コンピュータ・プログラム及び端末 | |
US20190005405A1 (en) | Identifying a product in a document | |
JP5749876B1 (ja) | 情報処理装置、情報処理方法、プログラム、記憶媒体 | |
JP2013008208A (ja) | 情報提供装置、情報提供方法、情報提供プログラム、情報表示プログラム、及び情報提供プログラムを記憶するコンピュータ読取可能な記録媒体 | |
KR102277240B1 (ko) | 키워드 관계 구조를 이용한 동의어 추출 방법 및 시스템 | |
JP5788240B2 (ja) | 情報提供装置、情報提供方法、情報提供プログラム、情報表示プログラム、及び情報提供プログラムを記憶するコンピュータ読取可能な記録媒体 | |
US11048707B2 (en) | Identifying a product in a document | |
TW201508505A (zh) | 多字集字碼輸入與即時顯示方法、系統與裝置 | |
EP4002126A1 (en) | Computer program, recording device, recording system, analysis device, and recording method | |
JP2014207019A (ja) | 情報処理装置、その制御方法、及びプログラム、並びに情報処理システム、その制御方法、及びプログラム | |
JP6578693B2 (ja) | 情報抽出装置、情報抽出方法、及び、表示制御システム | |
Rachovski et al. | Models and methodologies for automated creating of webpage mobile versions | |
JP6973132B2 (ja) | 情報処理装置、情報処理方法および情報処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20141111 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141210 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5666758 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |