WEKO3
アイテム
{"_buckets": {"deposit": "400e8543-182d-4ded-8405-ec883987293d"}, "_deposit": {"id": "8724", "owners": [], "pid": {"revision_id": 0, "type": "depid", "value": "8724"}, "status": "published"}, "_oai": {"id": "oai:tsukuba.repo.nii.ac.jp:00008724", "sets": []}, "author_link": ["35749"], "control_number": "8724", "item_12_biblio_info_6": {"attribute_name": "書誌情報", "attribute_value_mlt": [{"bibliographicIssueDates": {"bibliographicIssueDate": "1997", "bibliographicIssueDateType": "Issued"}}]}, "item_12_date_granted_46": {"attribute_name": "学位授与年月日", "attribute_value_mlt": [{"subitem_dategranted": "1997-07-25"}]}, "item_12_degree_grantor_44": {"attribute_name": "学位授与大学", "attribute_value_mlt": [{"subitem_degreegrantor": [{"subitem_degreegrantor_language": "ja", "subitem_degreegrantor_name": "筑波大学"}, {"subitem_degreegrantor_language": "en", "subitem_degreegrantor_name": "University of Tsukuba"}], "subitem_degreegrantor_identifier": [{"subitem_degreegrantor_identifier_name": "12102", "subitem_degreegrantor_identifier_scheme": "kakenhi"}]}]}, "item_12_degree_name_43": {"attribute_name": "取得学位", "attribute_value_mlt": [{"subitem_degreename": "博士(工学)", "subitem_degreename_language": "ja"}, {"subitem_degreename": "Doctor of Philosophy in Engineering", "subitem_degreename_language": "en"}]}, "item_12_description_4": {"attribute_name": "抄録", "attribute_value_mlt": [{"subitem_description": "ソフトウエアの生産性を高めるための解決策として、本論文では、2つのことについて述べている。1つは迅速な再解析を行うインクリメンタルな再解析法についてであり、もう1つは、コンパイラによるエラーの適切な処理についてである。 インクリメンタルな再解析は変更された箇所から影響を受ける範囲のみを再解析の対象とする。従来、インクリメンタルな再解析については色々と研究されてきた。しかし、従来の研究では、1)エラーが存在した場合のこと、2)1パスで属性評価を行う場合のこと、の二点についてはほとんど論じられていない。 本論文では、この二点を考慮に入れ、1パス属性文法であるLR属性文法に基づいたインクリメンタルな属性評価法について述べている。インクリメンタルな解析では、再解析のための情報として解析木を用いるが、エラーが存在した場合には、それまでに解析された情報である部分木を再利用することが考えられる。このことは、エラーが存在しない場合にも効率に寄与する。本論文では、このような部分木を再利用するインクリメンタルな解析法を提案し、その方法をもとにインクリメンタルな属性評価器生成系を作成し、それによって生成されたPascal-S言語のインクリメンタルな解析器による評価について述べている。実験の結果は、インクリメンタルな再解析を行うほとんどの場合には、通常の方法による全体の再解析に比べ、その1/10以下の実行時間で再解析を終了する。また、さらに再解析のための情報を解析木で保存することは空間的に効率がよくないため、解析木での情報の保存に比べ、約1/3の記憶容量ですむような方法を提案している。 次にコンパイラによる適切なエラー処理に関して、ユーザと対話的に構文エラーの修正を行うコンパイラ(本論文ではインタラクティブなコンパイラと呼ぶ)の試作について述べている。このコンパイラはできる限り、修正の候補をユーザに示し、ユーザがそれらから正しいものを選ぶ形式をとった。この方式により、エラーによる解析の中断後、修正によって解析を続行し、最後には正しいコードを出力することができる。すなわち、全体の再解析を避けることができる。 多くのエラーはその発見箇所を修正すれば良いが、必ずしもそうでない場合がある。この論文ではこのための機能として、先に述べているインクリメンタルな解析法を利用することができることを示唆している。", "subitem_description_language": "ja", "subitem_description_type": "Abstract"}]}, "item_12_description_45": {"attribute_name": "学位授与年度", "attribute_value_mlt": [{"subitem_description": "1997", "subitem_description_type": "Other"}]}, "item_12_dissertation_number_47": {"attribute_name": "報告番号", "attribute_value_mlt": [{"subitem_dissertationnumber": "甲第1756号"}]}, "item_access_right": {"attribute_name": "アクセス権", "attribute_value_mlt": [{"subitem_access_right": "open access", "subitem_access_right_uri": "http://purl.org/coar/access_right/c_abf2"}]}, "item_creator": {"attribute_name": "著者", "attribute_type": "creator", "attribute_value_mlt": [{"creatorNames": [{"creatorName": "中井, 央", "creatorNameLang": "ja"}, {"creatorName": "Nakai, Hisashi", "creatorNameLang": "en"}], "nameIdentifiers": [{"nameIdentifier": "35749", "nameIdentifierScheme": "WEKO"}]}]}, "item_files": {"attribute_name": "ファイル情報", "attribute_type": "file", "attribute_value_mlt": [{"accessrole": "open_date", "date": [{"dateType": "Available", "dateValue": "2013-12-18"}], "displaytype": "detail", "download_preview_message": "", "file_order": 0, "filename": "A1756.pdf", "filesize": [{"value": "99.5 kB"}], "format": "application/pdf", "future_date_message": "", "is_thumbnail": false, "mimetype": "application/pdf", "size": 99500.0, "url": {"objectType": "abstract", "url": "https://tsukuba.repo.nii.ac.jp/record/8724/files/A1756.pdf"}, "version_id": "e220432f-e77e-490c-8b85-d1e44346dc65"}, {"accessrole": "open_date", "date": [{"dateType": "Available", "dateValue": "2013-12-18"}], "displaytype": "detail", "download_preview_message": "", "file_order": 1, "filename": "1.pdf", "filesize": [{"value": "6.5 MB"}], "format": "application/pdf", "future_date_message": "", "is_thumbnail": false, "mimetype": "application/pdf", "size": 6500000.0, "url": {"objectType": "fulltext", "url": "https://tsukuba.repo.nii.ac.jp/record/8724/files/1.pdf"}, "version_id": "57515c8f-1b0e-43ea-8726-cd9ed853266a"}]}, "item_language": {"attribute_name": "言語", "attribute_value_mlt": [{"subitem_language": "jpn"}]}, "item_resource_type": {"attribute_name": "資源タイプ", "attribute_value_mlt": [{"resourcetype": "doctoral thesis", "resourceuri": "http://purl.org/coar/resource_type/c_db06"}]}, "item_title": "コンパイラにおけるインクリメンタルな解析法", "item_titles": {"attribute_name": "タイトル", "attribute_value_mlt": [{"subitem_title": "コンパイラにおけるインクリメンタルな解析法", "subitem_title_language": "ja"}]}, "item_type_id": "12", "owner": "1", "path": ["244"], "permalink_uri": "http://hdl.handle.net/2241/6388", "pubdate": {"attribute_name": "PubDate", "attribute_value": "2007-07-25"}, "publish_date": "2007-07-25", "publish_status": "0", "recid": "8724", "relation": {}, "relation_version_is_last": true, "title": ["コンパイラにおけるインクリメンタルな解析法"], "weko_shared_id": -1}
コンパイラにおけるインクリメンタルな解析法
http://hdl.handle.net/2241/6388
http://hdl.handle.net/2241/638835b78582-b049-4338-9c54-b6b8414c6217
名前 / ファイル | ライセンス | アクション |
---|---|---|
A1756.pdf (99.5 kB)
|
|
|
1.pdf (6.5 MB)
|
|
Item type | Thesis or Dissertation(1) | |||||
---|---|---|---|---|---|---|
公開日 | 2007-07-25 | |||||
タイトル | ||||||
言語 | ja | |||||
タイトル | コンパイラにおけるインクリメンタルな解析法 | |||||
言語 | ||||||
言語 | jpn | |||||
資源タイプ | ||||||
資源 | http://purl.org/coar/resource_type/c_db06 | |||||
タイプ | doctoral thesis | |||||
アクセス権 | ||||||
アクセス権 | open access | |||||
アクセス権URI | http://purl.org/coar/access_right/c_abf2 | |||||
著者 |
中井, 央
× 中井, 央 |
|||||
抄録 | ||||||
内容記述タイプ | Abstract | |||||
内容記述 | ソフトウエアの生産性を高めるための解決策として、本論文では、2つのことについて述べている。1つは迅速な再解析を行うインクリメンタルな再解析法についてであり、もう1つは、コンパイラによるエラーの適切な処理についてである。 インクリメンタルな再解析は変更された箇所から影響を受ける範囲のみを再解析の対象とする。従来、インクリメンタルな再解析については色々と研究されてきた。しかし、従来の研究では、1)エラーが存在した場合のこと、2)1パスで属性評価を行う場合のこと、の二点についてはほとんど論じられていない。 本論文では、この二点を考慮に入れ、1パス属性文法であるLR属性文法に基づいたインクリメンタルな属性評価法について述べている。インクリメンタルな解析では、再解析のための情報として解析木を用いるが、エラーが存在した場合には、それまでに解析された情報である部分木を再利用することが考えられる。このことは、エラーが存在しない場合にも効率に寄与する。本論文では、このような部分木を再利用するインクリメンタルな解析法を提案し、その方法をもとにインクリメンタルな属性評価器生成系を作成し、それによって生成されたPascal-S言語のインクリメンタルな解析器による評価について述べている。実験の結果は、インクリメンタルな再解析を行うほとんどの場合には、通常の方法による全体の再解析に比べ、その1/10以下の実行時間で再解析を終了する。また、さらに再解析のための情報を解析木で保存することは空間的に効率がよくないため、解析木での情報の保存に比べ、約1/3の記憶容量ですむような方法を提案している。 次にコンパイラによる適切なエラー処理に関して、ユーザと対話的に構文エラーの修正を行うコンパイラ(本論文ではインタラクティブなコンパイラと呼ぶ)の試作について述べている。このコンパイラはできる限り、修正の候補をユーザに示し、ユーザがそれらから正しいものを選ぶ形式をとった。この方式により、エラーによる解析の中断後、修正によって解析を続行し、最後には正しいコードを出力することができる。すなわち、全体の再解析を避けることができる。 多くのエラーはその発見箇所を修正すれば良いが、必ずしもそうでない場合がある。この論文ではこのための機能として、先に述べているインクリメンタルな解析法を利用することができることを示唆している。 | |||||
言語 | ja | |||||
書誌情報 |
発行日 1997 |
|||||
取得学位 | ||||||
学位名 | 博士(工学) | |||||
取得学位 | ||||||
学位名 | Doctor of Philosophy in Engineering | |||||
学位授与大学 | ||||||
学位授与機関識別子Scheme | kakenhi | |||||
学位授与機関識別子 | 12102 | |||||
言語 | ja | |||||
学位授与機関名 | 筑波大学 | |||||
言語 | en | |||||
学位授与機関名 | University of Tsukuba | |||||
学位授与年度 | ||||||
内容記述タイプ | Other | |||||
内容記述 | 1997 | |||||
学位授与年月日 | ||||||
学位授与年月日 | 1997-07-25 | |||||
報告番号 | ||||||
学位授与番号 | 甲第1756号 |