JP2005063121A - ソースコード変換装置、及びソースコード変換方法、ソースコード変換プログラム、記憶媒体 - Google Patents

ソースコード変換装置、及びソースコード変換方法、ソースコード変換プログラム、記憶媒体 Download PDF

Info

Publication number
JP2005063121A
JP2005063121A JP2003291820A JP2003291820A JP2005063121A JP 2005063121 A JP2005063121 A JP 2005063121A JP 2003291820 A JP2003291820 A JP 2003291820A JP 2003291820 A JP2003291820 A JP 2003291820A JP 2005063121 A JP2005063121 A JP 2005063121A
Authority
JP
Japan
Prior art keywords
character string
conversion
source code
file
reserved word
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
JP2003291820A
Other languages
English (en)
Inventor
Yasutaka Tsukamoto
泰隆 塚本
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2003291820A priority Critical patent/JP2005063121A/ja
Publication of JP2005063121A publication Critical patent/JP2005063121A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】 プログラムの動作を変えることなく、第三者にはプログラム中のアルゴリズムが理解しにくくなるようなソースコードの変換を行うソースコード変換装置、ソースコード変換方法、ソースコード変換プログラム、前記プログラムを格納した記憶媒体を提供する。
【解決手段】 あるプログラミング言語のソースコードXをソースコード読取部1にて読み込み、同時に、予約語読取部2にて、前記プログラミング言語の予約語情報を読み取る。その上で文字列変換部3にて、文字列変換処理を行い、ソースコードYとしてファイル出力する。文字列変換処理は、一定の規則に従って行われる。また、文字列変換処理では、変換リスト記憶部4にて変換前後の文字列の変換対応リストが作成され、ソースコードYの出力と同時に、変換対応リスト一覧ファイルZとして出力する。
【選択図】 図1

Description

本発明は、ソースコード変換装置、及びソースコード変換方法、ソースコード変換プログラム、ソースコード変換プログラムを格納した記憶媒体に関し、特に、第三者に理解しやすい第1のソースコードを、第三者に理解しにくい第2のソースコードに変換するソースコード変換装置、及びソースコード変換方法、ソースコード変換プログラム、ソースコード変換プログラムを格納した記憶媒体に関する。
第1の背景技術として、ソフトウェア開発やHDLによるプログラミングの方法論について、簡単に説明する。
プログラミング言語を用いてプログラムを作成する場合、すなわちソースコードを作成する場合、作成者、あるいは作成プロジェクトチームにとって、プログラムの内容が理解しやすい形で作成するのが一般的である。
例えば、ソフトウェア作成のプロジェクトにおいて、ソフトウェア詳細設計に入る前に、プロジェクトチームは、命名規約、或いはコーディング規約(命名規約は、コーディング規約の一部である。)を作成しておき、命名規約やコーディング規約に従って、ソースコードを作成する。命名規約とは、プログラミングにおけるローカルな決め事であり、図8に、命名規約の一例を示しておく。
図8は、プログラミングにおける命名規約の一例を示す図である。
例えば、変数命名規約において、変数名は、長すぎず、且つ変数の内容が分かりやすいようにするため、8〜12文字程度で、変数を宣言する。
また、関数命名規約において、関数名は、その動作を分かりやすくするため、「動詞」+「名詞」の形で宣言するのが普通である。
また、コーディング規約では、例えば、if分岐の記述方法や、入れ子構造を分かりやすくするためインデントを入れる、構造化プログラミングの技法に従ってgoto文は使わない等、様々な規約を定めている。
このように、決め事をしておくことにより、ソースコードを作成していないプロジェクトのメンバーでも、ソースコードの内容を容易に理解することが可能となるが、第三者にも分かりやすいコードであるのも事実である。
第2の技術背景として、プログラミング言語の一部であるHDL、及びCADツールについて簡単に説明する。
HDL(Hardware Description Language )とは、ハードウェア記述のためのプログラミング言語であり、主に半導体の設計に用いる言語である。半導体の設計には、CADツールを用いるのが一般的であり、CADツールは、HDLで記述されたファイルを読み込んで、様々な処理を行うことができ、このようなCADツールが、CADツールメーカーから販売されている。ユーザはこれらのツールを使うことによって、半導体等の設計を行うことが可能である。
第3の技術背景として、従来の文字列変換の技術を紹介する。
特許文献2に示されている発明は、符号化された視覚情報を1つの自然言語から他の自然言語へ変換する文字列変換方法、及び文字列変換機構に関する発明である。
この発明によれば、プログラムソースコード内にある、文字列型定数(例えば、C++言語において、ダブルコーテーションで括られた文字列)を、ある言語(例えば日本語)から別の言語(例えば英語)に変換する技術であるが、その実現方法は入力ソースコードに対して、変換用のマクロリストを用意し、前記マクロリストを用いて文字列変換を行っている。これにより、GUIの変更を容易に行うことができる(特許文献2参照)。
また、特許文献1に示されている発明は、オブジェクト指向のプログラミングにおいて、オブジェクト間通信に使用されるオブジェクト(いわゆるスタブメソッド)に関する記述を含むソースコードをプログラム実行環境に対応したソースコードに変換するソースコード変換方法に関する発明である。
特開平11−65832号公報 特開2001−84147号公報
第1の技術背景として、プログラミングの方法論について、及び第2の技術背景として、HDL及びCADツールの使い方を示したが、CADツールを使用しているときに、CADツールの不具合が発生する場合があり、CADツールの不具合の原因をCADツールメーカーに依頼することがある。その際、HDLファイルをCADツールメーカーに渡さなければ、不具合の原因が分からないことが多い。しかしながら、HDLファイルは企業秘密情報であり、HDLファイルをCADツールメーカーに容易に渡すことはできない。
また、特許文献1で示されているソースコード変換の技術は、複数の異なるプログラム実行環境に容易に適応でき、しかもインターフェース定義言語を用いることなくスタブメソッドを生成することを可能とするソースコード変換の技術であり、前記問題とは異なる問題を解決しているものである。
また、特許文献2で示されている文字列変換の技術は、GUIに関わる文字列(文字列型定数)に対して文字列変換を行うものであり、前記問題とは異なる問題を解決しているものである。
本発明は上記事情を鑑みてなされたものであり、プログラムの動作を変えることなく、第三者にはプログラム中のアルゴリズムが理解しにくくなるようなソースコードの変換を行うソースコード変換手段を有するソースコード変換装置と、前記ソースコードの変換を行うソースコード変換方法と、前記ソースコード変換方法をコンピュータに実行させるためのソースコード変換プログラムと、前記ソースコード変換プログラムを格納したコンピュータが読取可能な記憶媒体とを提供することを目的とする。
前記課題を解決するために、請求項1記載の発明は、プログラミング言語により記述された第1のソースコードファイルを読み込むファイル読込手段と、前記ファイル読込手段にて読み込んだソースコードファイルに対して、前記第1のソースコードファイル内の文字列を他の文字列に変換する文字列変換手段と、前記文字列変換手段により得られた文字列を第2のソースコードファイルに出力するファイル出力手段とを有することを特徴とする。
請求項2記載の発明は、前記ソースコード変換装置は、前記プログラミング言語の予約語を読み込む予約語読込手段と、前記予約語読込手段によって読み込まれた予約語を参照する参照手段と、前記参照手段により参照された予約語以外の文字列を他の文字列に変換する第1の文字列変換手段とを有することを特徴とする。
請求項3記載の発明は、前記文字列変換手段は、定数記述以外の文字列を別の文字列に変換する第2の文字列変換手段を有することを特徴とする。
請求項4記載の発明は、前記文字列変換手段は、前記プログラミング言語の文法により定められたコメント行を削除する第3の文字列変換手段を有することを特徴とする。
請求項5記載の発明は、前記文字列変換手段は、前記第1のソースコードファイル中の変換前文字列と、前記変換前文字列に対応する前記第2のソースコードファイル中の変換後文字列とが、同一行に存在するように変換する第4の文字列変換手段を有することを特徴とする。
請求項6記載の発明は、前記ファイル出力手段は、前記第1のソースコードファイル中の変換前文字列と、前記変換前文字列に対応する前記第2のソースコードファイル中の変換後文字列とを一覧表として出力する一覧表出力手段を有することを特徴とする。
請求項7記載の発明は、プログラミング言語により記述された第1のソースコードファイルを読み込むファイル読込工程と、前記ファイル読込工程にて読み込んだソースコードファイルに対して、前記第1のソースコードファイル内の文字列を他の文字列に変換する文字列変換工程と、前記文字列変換工程により得られた文字列を第2のソースコードファイルに出力するファイル出力工程とを行うことを特徴とする。
請求項8記載の発明は、前記ソースコード変換工程は、前記プログラミング言語の予約語を読み込む予約語読込工程と、前記予約語読込手段によって読み込まれた予約語を参照する参照工程と、前記参照工程により参照された予約語以外の文字列を他の文字列に変換する第1の文字列変換工程とを行うことを特徴とする。
請求項9記載の発明は、前記文字列変換工程は、定数記述以外の文字列を別の文字列に変換する第2の文字列変換工程を行うことを特徴とする。
請求項10記載の発明は、前記文字列変換工程は、前記プログラミング言語の文法により定められたコメント行を削除する第3の文字列変換工程を行うことを特徴とする。
請求項11記載の発明は、前記文字列変換工程は、前記第1のソースコードファイル中の変換前文字列と、前記変換前文字列に対応する前記第2のソースコードファイル中の変換後文字列とが、同一行に存在するように変換する第4の文字列変換工程を行うことを特徴とする。
請求項12記載の発明は、前記ファイル出力工程は、前記第1のソースコードファイル中の変換前文字列と、前記変換前文字列に対応する前記第2のソースコードファイル中の変換後文字列とを一覧表として出力する一覧表出力工程を行うことを特徴とする。
請求項13記載のソースコード変換プログラムは、請求項7から12のいずれか1項に記載のソースコード変換方法をコンピュータに実行させることを特徴とする。
請求項14記載のコンピュータが読取可能な記憶媒体は、請求項13記載のソースコード変換プログラムを格納することを特徴とする。
本発明によれば、プログラムの動作を変えることなく、第三者にはプログラム中のアルゴリズムが理解しにくくなるようにソースコードを変更するので、変更後のプログラムを第三者に提供しやすくなる。
一つのプログラミング言語、例えばHDLに特定したソースコード変換であれば、CADツールに取り込むことが可能なソースコード変換装置という形態で提供することも考えられるが、多くのプログラミング言語にも対応させることが可能であり、ソースコード変換を行うソースコード変換プログラム、及びソースコード変換プログラムを格納したコンピュータが読取可能な記憶媒体によって提供する方法も考えられる。
次に、添付図面を参照しながら、本発明の実施形態を説明する。
図1は、本発明の一実施例であるソースコード変換装置の構成を示すブロック図である。本図では、ソースコードファイルXが、文字列変換処理によってソースコードファイルYに変換される様子が示されている。
ソースコード読込部1では、プログラミング言語により記述されたソースコードファイルXを読み込み、全ての文字列を記憶する。また、予約語読込部2では、前記プログラミング言語の予約語ファイル4を読み込む。
ソースコードファイルXと予約語が読み込まれると、ソースコード文字列変換部3にてソースコードYに変換出力される。
また、変換リスト記憶部4は、変換前文字列と変換後文字列の対応リストを記憶してある場所であり、前記文字列変換部3における文字列の変換処理において、該文字列が既に変換された文字列であるか否かを、前記変換リスト記憶部4を参照し、該文字列が、まだ変換されていない文字列である場合は、新規に変換文字列を作成し、前記変換文字列にて変換する。該文字列が既に変換されている文字列である場合は、前記変換リスト記憶部4の内容に従って変換する。
図2は、本発明の一実施例であるソースコード変換装置における、ソースコード文字列変換部の詳細動作を示すフローチャートである。
最初に文字列変換のための一連の初期化処理を行う(ステップS1〜S5)。
すなわち、変換後文字列に対するインデックスの初期化を行い(ステップS1)、予約語情報を読み込み(S2)、文字列区切りの定義情報を読み込む(S3)。ここで、文字列区切り情報とは、例えば、半角スペース文字や、半角セミコロン文字、TAB文字、改行文字等である。
次に、ソースコードファイルXの文字列全体を読み込み(S4)、ソースコード文字列の中からコメント行を削除し(S5)、次処理(S11)を行う。
コメント行の削除では、当該行を改行に変換し、ファイルに出力する。例えば、コメント行が3行にまたがっている場合は、3つの改行を入れることにより、変換前と変換後のソースコードの行番号の関係を保って出力される。
ここで、コメント行とは、プログラムの実行には全く影響のない文字列を意味し、ソースコード作成者が、ソースコードの内容理解を助けるために、任意に書き込む文字列である。
例えば、HDL言語やC言語では、始点“/*”から、終点“*/”までの文字列は、コメント行である。
コメント行には、前述の通り、ソースコードの理解を助けるための文字列が記述されているため、企業秘密に関する記述(例えば、分岐ロジックの意味や、HDLにおける半導体回路の詳細設計内容、一般プログラミング言語におけるビジネスフロー等)が書かれているため、コメント行を削除する必要がある。
ソースコードの読み込み(S4)、コメント行の削除(S5)が終ると、文字列変換及びファイル出力の一連の処理を行う(ステップS11〜S23)。
すなわち、ソースコード文字列に、変換のチェックを行っていない文字列が存在するか否かを調べる(S11)。もし、存在しなければ(S11/No)、変換テーブルのリストを出力し(S31)、文字列変換処理を終了する(エンド)。存在する場合(S11/Yes)は、分割した文字列を一つずつ順番に読み込み(S12)、該文字列がどのような文字列であるかを調べる。
最初に、該文字列が、プログラミング言語で使われる予約語であるか否かを調べる(ステップS13)。すなわち、該文字列が、予約語読込部4に読み込まれている予約語と一致するものがあるか否かを調べる。
もし、該文字列が予約語であれば(S13/Yes)、該文字列をそのままファイル出力し(S14)、次の文字列のチェックに入る(S11)。
該文字列が予約語でない場合(S13/No)は、次段階の内容チェックに入る(S15)。
次段階のチェックでは、該文字列が区切り文字であるか否かを調べる(ステップS115)。ここで、区切り文字とは、半角スペース文字や半角セミコロン文字、改行文字等の文字である。
もし、該文字列が区切り文字である場合(S15/Yes)は、該文字列をそのままファイル出力し(S16)、次の文字列のチェックに入る(S11)。
該文字列が区切り文字でない場合(S15/No)は、次段階のチェックに入る(S17)。
次段階のチェックでは、該文字列が定数記述であるか否かをチェックする(ステップS17)。ここで、定数とは、0、1、2、−1、−2、…のような整数や実数(浮動小数点数、固定小数点数)、文字列などを意味する。これらの定数の型については、プログラミング言語により定義が異なるため、詳細の記述を省略する。
もし、該文字列が定数記述である場合(S17/Yes)は、該文字列をそのままファイル出力し(S18)、次の文字列のチェックに入る(S11)。
該文字列が定数記述でない場合(S17/No)は、一連の文字列変換処理(S21〜S25)に入る。
最初に、該文字列が、一連の文字列変換処理の中で、初めて出現した文字列であるか否かを調べる(ステップS21)。すなわち、「変換テーブル」に該文字列が登録されているか否かを調べる。
もし、該文字列が一連の処理の中で、初めて出現した文字である場合(S21/Yes)は、該文字列を「a_i」に変換、ファイル出力し(S22)、該文字列及び前記a_iを変換テーブルに保存する(S23)。その後、iを1つインクリメントして(S24)、次の文字列のチェックに入る(S11)。
もし、該文字列が一連の処理の中で、既に出現している文字列である場合(S21/No)は、変換テーブルに記憶されている文字列「a_j」に変換し(S25)、次の文字列のチェックに入る(S11)。
上記の一連の処理が終って、ソースコードXの変換が終ると(ステップS11/No)、変換テーブル上にある変換対応リストZを出力し(S31)、本フローは終了する(エンド)。
以下に、上記処理フローによって、実際にソースコードが変換される様子を次の図に示す。
図3は、本発明の一実施例であるソースコード変換装置によって変換されたソースコードの一例を示す図である。
また、図6は、図3に対応する変換前のソースコードである。
また、図7は、プログラミング言語の予約語一覧(の一部)を示す図である。
図3、図6の左側に書かれている数字は、行番号であり、実際には、ソースコード上には、記述されていない数字であるが、エディタツールなどで便宜上表示したりするものである。本図でも分かりやすいように、行番号をふってある。
図6を見れば分かるように、通常のソースコードでは、このプログラムがJPEGファイルに関連するプログラムであることが、第三者に容易に分かり、またこのプログラムのアルゴリズムも分かってしまう。
そこで、図6のソースコードと図7の予約語情報とを照らし合わせることにより、図3のソースコードに変換する。この変換により、第三者にはソースコードの内容、アルゴリズムが分かりにくくなる。そのため、変換後のソースコードを第三者に提供しやすくなる。
また、図2、図3、及び図6をみれば分かるように、同一の文字列は、同一の内容で変換される。図の例は、関数呼び出しがある例であり、呼び出し元及び呼び出し先の各々が同一の内容で変換されている。
このような変換をすることにより、文字列の変換を行っても、該ソースコードのプログラム動作を変えることなく、第三者には理解するのが難しいソースコードYに変換される。
図4は、本発明の一実施例であるソースコード変換装置によって作成された変換リストを示す図である。
前記図2、及び図3、図6の例でソースコードの変換を行った際に、変換リスト記憶部4に格納されている内容を、図4のようなリストにファイル出力する。ファイル出力の形式は、リストとして一般的なCSV形式のファイルに出力している。
このように、変換前及び変換後の対応関係を変換リストとして出力することにより、変換されたソースコードYを解析する際に、前記変換リストを用いてソースコードYを解析することが可能となる。
図5は、本発明の一実施例であるソースコード変換方法における、ソースコードのデータフロー図である。
ソースコード読込処理11によって、プログラミング言語により記述されたソースコードファイルXが読み込まれ、全ての文字列が記憶される。また、予約語読込処理12によって、前記プログラミング言語の予約語ファイル4が読み込まれる。
ソースコードファイルXと予約語が読み込まれると、ソースコード文字列変換処理13によってソースコードYに変換出力される。
また、変換リスト記憶処理14によって、変換前文字列と変換後文字列の対応リストが作成される。前記文字列変換処理13における文字列の変換処理において、該文字列が既に変換された文字列であるか否かを、前記変換リスト記憶処理14によって作成された対応リストを参照し、該文字列が、まだ変換されていない文字列である場合は、新規に変換文字列を作成し、前記変換文字列にて変換する。該文字列が既に変換されている文字列である場合は、前記対応リストの内容に従って変換し、文字列変換処理が終了すると、変換リスト一覧表ファイルZが作成される。
また、本発明の一実施例であるソースコード変換方法における、文字列変換処理の詳細のフローチャートは、図2に示す文字列変換処理フローチャートと全く同様なので、説明を省略する。
また、本発明の一実施例であるソースコード変換方法によってソースコードが変換される様子、及び変換リスト一覧ファイルの作成については、図3等の説明と全く同様なので、説明を省略する。
また、本発明の一実施例である、前記ソースコード変換方法をコンピュータに実行させるためのソースコード変換プログラムについて説明する。
前記ソースコード変換プログラムを格納する記憶領域と、ソースコードX(変換前ソースコード)を読み込む手段(例えばフロッピー(R)ディスクや磁気ディスク、或いはMOのような光学メディア等に格納されたソースコードを読み込む手段)と、ソースコードY(変換後ソースコード)を出力する手段と、変換リスト一覧表を出力する手段とを有するコンピュータを用いることにより、前記ソースコード変換プログラムを実行することが可能である。
また、前記ソースコード変換プログラムを提供するために、コンピュータが読取可能な記憶媒体に、前記ソースコード変換プログラムのファイルと、前記ソースコード変換プログラムをコンピュータにインストールするためのインストーラプログラム等のファイルを、コンピュータが読取可能な記憶媒体に格納する。また、前記記憶媒体に格納されているファイルがインターネット上で公開されている場合は、これらのファイルをコンピュータにダウンロードし、ソースコード変換プログラムをコンピュータにインストールすることも可能である。
以上の説明から明らかなように、プログラムの動作を変えることなく、第三者にはプログラム中のアルゴリズムが理解しにくくなるようにソースコードを変更するので、変更後のプログラムを第三者に提供しやすくなる。
また、予約語を読み込む予約語読込手段、又は方法で予約語を読み込んで、ソースコード変換を行うことにより、プログラミング言語の種類が変わっても、準備する予約語情報を変更するだけで対応が可能となる。
また、ソースコード変換前後のファイルの行数は変わらず、かつ、行の対応関係が一致するようにソースコード変換を行うことにより、変換後ソースコードの解析作業が容易となる。
また、ソースコード変換処理が終了すると同時に、変換された文字列の対応リストが作成されることにより、変換後ソースコードの解析作業が容易となる。
現在、様々なプログラミングツールがツールメーカー(主にソフトウェア開発ツール提供を主たる業務とする企業等)から提供されていて、ユーザ(主にソフトウェア開発を主たる業務とする企業や個人等)は、それらのツールを使ってソフトウェア開発を行っている。しかしながら、プログラミングツールに不具合が発生し、ツールメーカーによる不具合解析等で、やむを得ず、ソースコードをツールメーカーに提供しなければならない場合もある。このような場合に、本発明のソースコード変換装置、及びソースコード変換方法、ソースコード変換プログラム、ソースコード変換プログラムを格納した記憶媒体が有効である。
本発明の一実施例であるソースコード変換装置の構成を示すブロック図である。 本発明の一実施例であるソースコード変換装置の、文字列変換処理フローチャートである。 本発明の一実施例であるソースコード変換装置によって文字列変換されたプログラム・ソースコードである。 本発明の一実施例であるソースコード変換装置によって作成された変換リストを示す図である。 本発明の一実施例であるソースコード変換方法における、ソースコードのデータフロー図である。 図3に対応する変換前のプログラム・ソースコードである。 プログラミング言語の予約語一覧を示す図である。 プログラミングにおける命名規約を示す図である。
符号の説明
1 ソースコード読取部
2 予約語読取部
3 文字列変換部
4 変換リスト記憶部
11 ソースコード読取処理
12 予約語読取処理
13 文字列変換処理
14 変換リスト記憶処理
X 変換前ソースコードファイル
Y 変換後ソースコードファイル
Z 変換対応リストファイル

Claims (14)

  1. プログラミング言語により記述された第1のソースコードファイルを読み込むファイル読込手段と、
    前記ファイル読込手段にて読み込んだソースコードファイルに対して、前記第1のソースコードファイル内の文字列を他の文字列に変換する文字列変換手段と、
    前記文字列変換手段により得られた文字列を第2のソースコードファイルに出力するファイル出力手段とを有することを特徴とするソースコード変換装置。
  2. 前記ソースコード変換装置は、前記プログラミング言語の予約語を読み込む予約語読込手段と、
    前記予約語読込手段によって読み込まれた予約語を参照する参照手段と、
    前記参照手段により参照された予約語以外の文字列を他の文字列に変換する第1の文字列変換手段とを有することを特徴とする請求項1記載のソースコード変換装置。
  3. 前記文字列変換手段は、定数記述以外の文字列を別の文字列に変換する第2の文字列変換手段を有することを特徴とする請求項1または2記載のソースコード変換装置。
  4. 前記文字列変換手段は、前記プログラミング言語の文法により定められたコメント行を削除する第3の文字列変換手段を有することを特徴とする請求項1から3のいずれか1項に記載のソースコード変換装置。
  5. 前記文字列変換手段は、前記第1のソースコードファイル中の変換前文字列と、前記変換前文字列に対応する前記第2のソースコードファイル中の変換後文字列とが、同一行に存在するように変換する第4の文字列変換手段を有することを特徴とする請求項1から4のいずれか1項に記載のソースコード変換装置。
  6. 前記ファイル出力手段は、前記第1のソースコードファイル中の変換前文字列と、前記変換前文字列に対応する前記第2のソースコードファイル中の変換後文字列とを一覧表として出力する一覧表出力手段を有することを特徴とする請求項1から5のいずれか1項に記載のソースコード変換装置。
  7. プログラミング言語により記述された第1のソースコードファイルを読み込むファイル読込工程と、
    前記ファイル読込工程にて読み込んだソースコードファイルに対して、前記第1のソースコードファイル内の文字列を他の文字列に変換する文字列変換工程と、
    前記文字列変換工程により得られた文字列を第2のソースコードファイルに出力するファイル出力工程とを行うことを特徴とするソースコード変換方法。
  8. 前記ソースコード変換工程は、前記プログラミング言語の予約語を読み込む予約語読込工程と、
    前記予約語読込手段によって読み込まれた予約語を参照する参照工程と、
    前記参照工程により参照された予約語以外の文字列を他の文字列に変換する第1の文字列変換工程とを行うことを特徴とする請求項7記載のソースコード変換方法。
  9. 前記文字列変換工程は、定数記述以外の文字列を別の文字列に変換する第2の文字列変換工程を行うことを特徴とする請求項7または8記載のソースコード変換方法。
  10. 前記文字列変換工程は、前記プログラミング言語の文法により定められたコメント行を削除する第3の文字列変換工程を行うことを特徴とする請求項7から9のいずれか1項に記載のソースコード変換方法。
  11. 前記文字列変換工程は、前記第1のソースコードファイル中の変換前文字列と、前記変換前文字列に対応する前記第2のソースコードファイル中の変換後文字列とが、同一行に存在するように変換する第4の文字列変換工程を行うことを特徴とする請求項7から10のいずれか1項に記載のソースコード変換方法。
  12. 前記ファイル出力工程は、前記第1のソースコードファイル中の変換前文字列と、前記変換前文字列に対応する前記第2のソースコードファイル中の変換後文字列とを一覧表として出力する一覧表出力工程を行うことを特徴とする請求項7から11のいずれか1項に記載のソースコード変換方法。
  13. 請求項7から12のいずれか1項に記載のソースコード変換方法をコンピュータに実行させるためのソースコード変換プログラム。
  14. 請求項13に記載のソースコード変換プログラムを格納したコンピュータが読取可能な記憶媒体。
JP2003291820A 2003-08-11 2003-08-11 ソースコード変換装置、及びソースコード変換方法、ソースコード変換プログラム、記憶媒体 Pending JP2005063121A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003291820A JP2005063121A (ja) 2003-08-11 2003-08-11 ソースコード変換装置、及びソースコード変換方法、ソースコード変換プログラム、記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003291820A JP2005063121A (ja) 2003-08-11 2003-08-11 ソースコード変換装置、及びソースコード変換方法、ソースコード変換プログラム、記憶媒体

Publications (1)

Publication Number Publication Date
JP2005063121A true JP2005063121A (ja) 2005-03-10

Family

ID=34369380

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003291820A Pending JP2005063121A (ja) 2003-08-11 2003-08-11 ソースコード変換装置、及びソースコード変換方法、ソースコード変換プログラム、記憶媒体

Country Status (1)

Country Link
JP (1) JP2005063121A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007034813A (ja) * 2005-07-28 2007-02-08 National Institute Of Advanced Industrial & Technology 複数自然言語のソフトウェア説明書生成システム
JP2007141173A (ja) * 2005-11-22 2007-06-07 Matsushita Electric Ind Co Ltd コンパイルシステム、デバッグシステムおよびプログラム開発システム
US7971167B2 (en) 2007-02-19 2011-06-28 Ricoh Company, Ltd. Semiconductor design support device, semiconductor design support method, and manufacturing method for semiconductor integrated circuit
JP2011129020A (ja) * 2009-12-21 2011-06-30 Nec Corp 動作合成装置及び方法
JP2012190381A (ja) * 2011-03-14 2012-10-04 Nec Engineering Ltd ログ情報漏洩防止方法およびログ情報漏洩防止装置
JP2017058994A (ja) * 2015-09-17 2017-03-23 日本電気株式会社 難読化装置、方法およびプログラム
JP2020170221A (ja) * 2019-04-01 2020-10-15 カシオ計算機株式会社 プログラムを変換するためのプログラム、情報処理装置、及び、情報処理方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007034813A (ja) * 2005-07-28 2007-02-08 National Institute Of Advanced Industrial & Technology 複数自然言語のソフトウェア説明書生成システム
JP2007141173A (ja) * 2005-11-22 2007-06-07 Matsushita Electric Ind Co Ltd コンパイルシステム、デバッグシステムおよびプログラム開発システム
US7971167B2 (en) 2007-02-19 2011-06-28 Ricoh Company, Ltd. Semiconductor design support device, semiconductor design support method, and manufacturing method for semiconductor integrated circuit
JP2011129020A (ja) * 2009-12-21 2011-06-30 Nec Corp 動作合成装置及び方法
JP2012190381A (ja) * 2011-03-14 2012-10-04 Nec Engineering Ltd ログ情報漏洩防止方法およびログ情報漏洩防止装置
JP2017058994A (ja) * 2015-09-17 2017-03-23 日本電気株式会社 難読化装置、方法およびプログラム
JP2020170221A (ja) * 2019-04-01 2020-10-15 カシオ計算機株式会社 プログラムを変換するためのプログラム、情報処理装置、及び、情報処理方法
JP7306026B2 (ja) 2019-04-01 2023-07-11 カシオ計算機株式会社 プログラムを変換するためのプログラム、情報処理装置、及び、情報処理方法

Similar Documents

Publication Publication Date Title
JP4901155B2 (ja) 音声認識装置が使用するのに適した文法を生成するための方法、媒体、およびシステム
EP0204942A2 (en) Compiler for a source program, a method of making the same and its use
JP2006202277A (ja) 非独自言語によって駆動される一般アプリケーション用シーケンス図ジェネレータ
WO2009098739A1 (ja) プログラム最適化装置およびプログラム最適化方法
JPWO2009017131A1 (ja) ε遷移を含まない非決定性有限オートマトン生成システムと方法およびプログラム
CN105446983A (zh) 用于生成数据格式描述语言模型的方法和装置
CN114503073A (zh) 将用过程编程语言编写的程序自动转换为数据流图及相关***和方法
JP2005063121A (ja) ソースコード変換装置、及びソースコード変換方法、ソースコード変換プログラム、記憶媒体
JP2006301989A (ja) 計算機言語によるプログラムをブロック図から自動生成する方法と装置とプログラム
US8849650B2 (en) System and method for automatically generating sentences of a language
CN112231197A (zh) 一种页面测试的方法、装置和存储介质
Stansifer et al. Parsing reflective grammars
JP2009048259A (ja) プログラム変換方法及び変換用プログラム
JP2008226010A (ja) コンパイル方法及びコンパイル装置
JP6721548B2 (ja) 設計確認装置及び設計確認方法
JP7247593B2 (ja) 生成装置、ソフトウェアロボットシステム、生成方法及び生成プログラム
JP7059757B2 (ja) Api処理方法、端末、api処理プログラム
US6763516B2 (en) Convention checking apparatus, convention checking system, convention checking method, and storage medium on which is recorded a convention checking program
JP2007140845A (ja) プログラム管理方法及びプログラムの移行支援装置
JP2007287025A (ja) 画面遷移プログラム生成方法及び装置
EP3255558A1 (en) Syntax analyzing device, learning device, machine translation device and recording medium
JP2008108266A (ja) 2レベル形態規則をコンパイルするための方法及びその装置
KR100846203B1 (ko) 모바일 어플리케이션의 생성 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체
JP3003459B2 (ja) プログラム作成支援装置
CN113296754B (zh) 基于xml的脚本语言转换方法、编辑器、设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080603

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080909

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081110

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081216