{"created":"2023-06-19T11:44:21.726268+00:00","id":14259,"links":{},"metadata":{"_buckets":{"deposit":"b95f3458-9d03-4f6a-9a2c-29e73e5bdd6d"},"_deposit":{"created_by":15,"id":"14259","owners":[15],"pid":{"revision_id":0,"type":"depid","value":"14259"},"status":"published"},"_oai":{"id":"oai:mie-u.repo.nii.ac.jp:00014259","sets":["366:640:641:1289"]},"author_link":["46684","46682"],"item_7_biblio_info_6":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicIssueDates":{"bibliographicIssueDate":"2021-03","bibliographicIssueDateType":"Issued"}}]},"item_7_contributor_61":{"attribute_name":"修士論文指導教員","attribute_value_mlt":[{"contributorNames":[{"contributorName":"山田, 俊行","lang":"ja"}],"nameIdentifiers":[{"nameIdentifier":"46684","nameIdentifierScheme":"WEKO"}]}]},"item_7_description_14":{"attribute_name":"フォーマット","attribute_value_mlt":[{"subitem_description":"application/pdf","subitem_description_type":"Other"}]},"item_7_description_4":{"attribute_name":"抄録","attribute_value_mlt":[{"subitem_description":"構文解析器(パーサ) は言語処理系などの実装に必要である.パーサの実装方法には,再帰下降構文解析などで手書きする方法や,パーサジェネレータを用いる方法がある.実装の手間を削減するために,ある程度複雑な文法に対しては,パーサジェネレータが用いられることが多い.パーサジェネレータを用いても,困難な点がいくつかあり,パーサジェネレータの使い方を理解する必要性や,左再帰の除去など,構文解析手法に応じた文法を作成する必要性などがある.また,パーサジェネレータは,文法が定義されていない新規の言語の設計の場合など,文法の設計の補助には使いづらい.\nこれらの問題の解決策として,プログラムの例を用いて,対話的にパーサを作る研究がある.主な操作の流れとしては,ユーザがプログラム例をツールに与えた後,プログラム例に対する範囲選択と,その範囲に対する非終端記号のラベル付けを繰り返すことによって,ツール側が規則を生成していく.また,字句の規則に関して,既存の言語の規則から適切な規則を選択することで,実際に使われる規則を提示するという研究もある.\nこれらの研究では,プログラム例に対する,範囲選択とラベル付けの操作なしに,文法を推測することができない.これによって,与えられたプログラム例が一般的な規則で表せるものであっても,操作を繰り返す必要があり,手間がかかる.また,複数の文法があり得るときに,どの文法を選択するかがユーザに委ねられており,どれを選ぶべきかを判断する必要性がある.\n本研究では,先行研究が既存の言語の規則を用いて,字句の規則を推測したように,既存の言語の文法の規則集を元にし,プログラム例に対応する文法を推測する方法を提案する.文法の規則集を使うことで,プログラム例からユーザの追加操作なしでの文法の推測と,複数の文法があり得る場合に,よく使われる形の規則の提示を狙う.ただし,字句の規則の場合と違い,文法の規則の場合は,規則の部分的な違いによって,文法の規則集の規則をそのまま用いてもプログラム例を構文解析できない可能性が高い.そこで,規則集の規則の編集によって,与えられたプログラム例を構文解析できるような文法を生成する.これによって,複数の言語の書き方が混ざったような文法にも対応する.また,そのような編集は無数にあり得るため,ユーザに見せる文法を選択する必要がある.本研究では,規則集に対する編集が少ない文法ほど,ユーザに見せるべきとした.そのような文法を求める方法についても提案する.\n最後に,実験と評価のために,提案手法の実装と,既存の言語の特徴を考慮した規則集の作成をした.これらを用いた実験により,文法の規則集の編集によるプログラム例からの文法の生成が動作するかどうか,対話型のツールで用いるのに十分な実行時間の短さであるかを評価した.","subitem_description_type":"Abstract"}]},"item_7_description_5":{"attribute_name":"内容記述","attribute_value_mlt":[{"subitem_description":"三重大学大学院 工学研究科 博士前期課程 情報工学専攻 コンピュータソフトウェア研究室","subitem_description_type":"Other"},{"subitem_description":"41p","subitem_description_type":"Other"}]},"item_7_publisher_30":{"attribute_name":"出版者","attribute_value_mlt":[{"subitem_publisher":"三重大学"}]},"item_7_text_31":{"attribute_name":"出版者(ヨミ)","attribute_value_mlt":[{"subitem_text_value":"ミエダイガク"}]},"item_7_text_65":{"attribute_name":"資源タイプ(三重大)","attribute_value_mlt":[{"subitem_text_value":"Master's Thesis / 修士論文"}]},"item_7_version_type_15":{"attribute_name":"著者版フラグ","attribute_value_mlt":[{"subitem_version_resource":"http://purl.org/coar/version/c_970fb48d4fbd8a85","subitem_version_type":"VoR"}]},"item_creator":{"attribute_name":"著者","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"毛利, 真士","creatorNameLang":"ja"},{"creatorName":"モウリ, マサト","creatorNameLang":"ja-Kana"}],"nameIdentifiers":[{"nameIdentifier":"46682","nameIdentifierScheme":"WEKO"}]}]},"item_files":{"attribute_name":"ファイル情報","attribute_type":"file","attribute_value_mlt":[{"accessrole":"open_date","date":[{"dateType":"Available","dateValue":"2021-09-21"}],"displaytype":"detail","filename":"2020ME0190.pdf","filesize":[{"value":"663 KB"}],"format":"application/pdf","licensetype":"license_note","mimetype":"application/pdf","url":{"label":"2020ME0190","url":"https://mie-u.repo.nii.ac.jp/record/14259/files/2020ME0190.pdf"},"version_id":"672b6ca8-cc0f-4550-9a2c-694ba47aeda8"}]},"item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"jpn"}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourcetype":"thesis","resourceuri":"http://purl.org/coar/resource_type/c_46ec"}]},"item_title":"文法の規則集の編集によるプログラム例からの文法の生成","item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"文法の規則集の編集によるプログラム例からの文法の生成","subitem_title_language":"ja"}]},"item_type_id":"7","owner":"15","path":["1289"],"pubdate":{"attribute_name":"PubDate","attribute_value":"2021-09-21"},"publish_date":"2021-09-21","publish_status":"0","recid":"14259","relation_version_is_last":true,"title":["文法の規則集の編集によるプログラム例からの文法の生成"],"weko_creator_id":"15","weko_shared_id":-1},"updated":"2023-12-01T01:41:08.187954+00:00"}