JP6267971B2 - ソースコード解析支援装置、ソースコード解析支援方法 - Google Patents
ソースコード解析支援装置、ソースコード解析支援方法 Download PDFInfo
- Publication number
- JP6267971B2 JP6267971B2 JP2014010228A JP2014010228A JP6267971B2 JP 6267971 B2 JP6267971 B2 JP 6267971B2 JP 2014010228 A JP2014010228 A JP 2014010228A JP 2014010228 A JP2014010228 A JP 2014010228A JP 6267971 B2 JP6267971 B2 JP 6267971B2
- Authority
- JP
- Japan
- Prior art keywords
- definition information
- source code
- grammar definition
- unit
- grammar
- 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
- 238000004458 analytical method Methods 0.000 title claims description 93
- 238000000034 method Methods 0.000 title claims description 27
- 238000006243 chemical reaction Methods 0.000 claims description 124
- 238000013461 design Methods 0.000 claims description 38
- 238000012937 correction Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 125000004079 stearyl group Chemical group [H]C([*])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])C([H])([H])[H] 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Description
入力部110は、キーボードやマウス等の入力デバイスであり、ユーザによる操作に応じた入力信号を生成する。
出力部120は、情報を出力する出力デバイスである。出力部120は、例えば、文字や画像等の情報を表示するディスプレイである。
文法定義情報記憶部131には、所定のプログラム言語における文法規則を定義した文法定義情報であって、そのプログラム言語によって記述されたソースコードを解析するための文法定義情報が記憶される。この文法定義情報は、後述する構文解析部142が解析対象のソースコードを解析するために参照する情報である。
図4は、このような文法定義情報に基づく構文解析により生成される抽象構文木の例を示す図である。抽象構文木は、解析対象のソースコードの構造を木構造で表した情報である。ここでは、図2に示したソースコードの1行目の「FD FILEA IS GLOBAL」との記述を解析した例を示している。「FD FILEA IS GLOBAL」のうち、「FILEA」は非終端記号であるFileNameに一致し、「IS GLOBAL」は非終端記号であるFeOptに一致し、「FD」とこれらの組み合わせとは非終端記号であるFileEntryに一致する。このため、この記述は、文法定義情報におけるFileEntryに対応するものであるとして正常に解析することができる。
中間表現変換表記憶部133には、文法定義情報における非終端記号ごとに、設計書に出力する出力項目を対応付けた中間表現変換表が記憶される。図5は、中間表現変換表記憶部133に記憶される中間表現変換表のデータ例を示す図である。中間表現変換表において、非終端記号に対応する出力項目が「×」である場合、その項目を設計書に出力しないことを示している。出力項目が「×」でない場合、出力項目に記載されている設計書の箇所に非終端記号の内容を記載することを示している。
ソースコード解析支援装置100のソースコード読み込み部141は、ユーザからの操作に応じて、解析対象のソースコードを読み込む(ステップS1)。ここで、ソースコード読み込み部141は、読み込んだ解析対象のソースコードを、記憶部130に記憶させておくことができる。
文法定義情報更新部145は、エラー箇所特定部144によって特定されたエラー箇所を、空白と区切り文字とによってトークンに分割する(ステップS11)。文法定義情報更新部145は、分割したトークンをキーとして、文法定義情報記憶部131に記憶されている文法定義情報から、そのトークンを含む文法定義情報を検索する(ステップS12)。
変換表修正可否判定部146は、文法定義情報更新部145によって生成された文法定義候補の非終端記号をキーとして、中間表現変換表記憶部133に記憶されている中間表現変換表を検索する(ステップS21)。変換表修正可否判定部146は、非終端記号が中間表現変換表記憶部133に記憶されている中間表現変換表に含まれていなければ(ステップS22:NO)、判定不可として(ステップS23)、処理を終了する。
110 入力部
120 出力部
130 記憶部
131 文法定義情報記憶部
132 変換表記憶部
133 中間表現変換表記憶部
134 日本語変換表記憶部
135 言語仕様書記憶部
140 制御部
141 ソースコード読み込み部
142 構文解析部
143 設計書生成部
144 エラー箇所特定部
145 文法定義情報更新部
146 変換表修正可否判定部
147 変換表更新部
Claims (5)
- 所定のプログラム言語における文法規則を定義した文法定義情報であって、前記プログラム言語によって記述されたソースコードを解析するための文法定義情報が記憶される文法定義情報記憶部と、
前記プログラム言語によって記述されたソースコードを読み込むソースコード読み込み部と、
前記ソースコード読み込み部によって読み込まれた前記ソースコードと前記文法定義情報とを比較して、前記ソースコードに、前記文法定義情報によって定義されていない記述である未定義記述が含まれるか否かを判定する構文解析部と、
前記構文解析部によって、前記ソースコードに前記未定義記述が含まれると判定された場合、当該未定義記述を出力するエラー箇所特定部と、
前記エラー箇所特定部によって出力された前記未定義記述に対応する文法定義情報の入力を受け付け、入力された文法定義情報を前記文法定義情報記憶部に記憶させる文法定義情報更新部と、
前記プログラム言語の文法規則を自然言語によって解説したドキュメントである言語仕様書が記憶される言語仕様書記憶部と、
を備え、
前記文法定義情報更新部は、前記未定義記述に対応する前記言語仕様書の箇所を特定し、特定した箇所を出力し、出力した当該言語仕様書の箇所に応じて入力される前記文法定義情報の入力を受け付ける
ことを特徴とするソースコード解析支援装置。 - 前記文法定義情報は、前記プログラム言語における文法規則を終端記号と非終端記号とによって定義し、
前記文法定義情報更新部は、前記未定義記述を新たな終端記号として定義する文法定義情報と、前記未定義記述に対応する新たな非終端記号を定義する文法定義情報とのいずれかの入力を受け付ける
ことを特徴とする請求項1に記載のソースコード解析支援装置。 - 前記文法定義情報に定義された終端記号および非終端記号のそれぞれに対応して設計書に出力する出力項目が含まれる変換表が記憶される変換表記憶部と、
前記ソースコードと、前記文法定義情報と、前記変換表とに基づいて設計書を生成する設計書生成部と、
を備えることを特徴とする請求項2に記載のソースコード解析支援装置。 - 前記エラー箇所特定部が出力した前記未定義記述に対応する前記変換表の入力を受け付け、入力された変換表を前記変換表記憶部に記憶させる変換表更新部と、
を備えることを特徴とする請求項3に記載のソースコード解析支援装置。 - 所定のプログラム言語における文法規則を定義した文法定義情報であって、前記プログラム言語によって記述されたソースコードを解析するための文法定義情報が記憶される文法定義情報記憶部と、前記プログラム言語の文法規則を自然言語によって解説したドキュメントである言語仕様書が記憶される言語仕様書記憶部とを備えるソースコード解析支援装置の、
ソースコード読み込み部が、前記プログラム言語によって記述されたソースコードを読み込むステップと、
構文解析部が、前記ソースコード読み込み部によって読み込まれた前記ソースコードと前記文法定義情報とを比較して、前記ソースコードに、前記文法定義情報によって定義されていない記述である未定義記述が含まれるか否かを判定する構文解析ステップと、
エラー箇所特定部が、前記構文解析部によって、前記ソースコードに前記未定義記述が含まれると判定された場合、当該未定義記述を出力するエラー箇所特定ステップと、
文法定義情報更新部が、前記エラー箇所特定部によって出力された前記未定義記述に対応する文法定義情報の入力を受け付け、入力された文法定義情報を前記文法定義情報記憶部に記憶させる文法定義情報更新ステップと、
を含み、
前記文法定義情報更新ステップにおいて、前記文法定義情報更新部が、前記未定義記述に対応する前記言語仕様書の箇所を特定し、特定した箇所を出力し、出力した当該言語仕様書の箇所に応じて入力される前記文法定義情報の入力を受け付ける
ことを特徴とするソースコード解析支援方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014010228A JP6267971B2 (ja) | 2014-01-23 | 2014-01-23 | ソースコード解析支援装置、ソースコード解析支援方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014010228A JP6267971B2 (ja) | 2014-01-23 | 2014-01-23 | ソースコード解析支援装置、ソースコード解析支援方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015138435A JP2015138435A (ja) | 2015-07-30 |
JP6267971B2 true JP6267971B2 (ja) | 2018-01-24 |
Family
ID=53769377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014010228A Active JP6267971B2 (ja) | 2014-01-23 | 2014-01-23 | ソースコード解析支援装置、ソースコード解析支援方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6267971B2 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0424825A (ja) * | 1990-05-18 | 1992-01-28 | Fujitsu Ltd | 文法編集処理装置 |
JPH10133866A (ja) * | 1996-11-01 | 1998-05-22 | Mitsubishi Electric Corp | 移行変換処理方法 |
JP5404681B2 (ja) * | 2011-03-22 | 2014-02-05 | 三菱電機株式会社 | 監視制御アプリケーション設計装置及びプログラム |
-
2014
- 2014-01-23 JP JP2014010228A patent/JP6267971B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015138435A (ja) | 2015-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7904291B2 (en) | Communication support apparatus and computer program product for supporting communication by performing translation between languages | |
JPS6375835A (ja) | 目的コ−ド、プログラム・リスト及び設計文書を生成する装置 | |
US20060149543A1 (en) | Construction of an automaton compiling grapheme/phoneme transcription rules for a phoneticizer | |
US20070011160A1 (en) | Literacy automation software | |
JP6532088B2 (ja) | 自律学習整列ベースの整列コーパス生成装置およびその方法と、整列コーパスを用いた破壊表現の形態素分析装置およびその形態素分析方法 | |
JP4502615B2 (ja) | 類似文検索装置、類似文検索方法、およびプログラム | |
JP2017208097A (ja) | エンティティの多音字の曖昧さ回避方法及びエンティティの多音字の曖昧さ回避装置 | |
US20220414463A1 (en) | Automated troubleshooter | |
JP6952967B2 (ja) | 自動翻訳装置 | |
JP2010134922A (ja) | 類似語決定方法およびシステム | |
KR101709693B1 (ko) | 크라우드 소싱을 이용한 웹툰 언어 자동 번역 방법 | |
JP2006338261A (ja) | 翻訳装置、翻訳方法及び翻訳プログラム | |
JP5423466B2 (ja) | 音声合成装置、音声合成方法、及び音声合成プログラム | |
JP2009015395A (ja) | 辞書構築支援装置および辞書構築支援プログラム | |
KR20120045906A (ko) | 코퍼스 오류 교정 장치 및 그 방법 | |
CN116360794A (zh) | 数据库语言解析方法、装置、计算机设备及存储介质 | |
JP6267971B2 (ja) | ソースコード解析支援装置、ソースコード解析支援方法 | |
CN116243901A (zh) | 一种用于前端页面多语言项目快速开发的方法及系统 | |
JP4476609B2 (ja) | 中国語解析装置、中国語解析方法および中国語解析プログラム | |
US20180011833A1 (en) | Syntax analyzing device, learning device, machine translation device and storage medium | |
KR100631086B1 (ko) | Xml을 이용한 텍스트 정규화 방법 및 장치 | |
JP2016189154A (ja) | 翻訳方法、装置、及びプログラム | |
JP2007018462A (ja) | 機械翻訳装置、およびプログラム | |
JP2007279795A (ja) | プログラムによって表示される画面が仕様を満たすか判断するシステム | |
JP7483085B1 (ja) | 情報処理システム、情報処理装置、情報処理方法、およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161205 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170912 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170919 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171114 |
|
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: 20171128 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6267971 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 |
|
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 |