{"links":{},"metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00174602","sets":["934:935:8438:8851"]},"path":["8851"],"owner":"11","recid":"174602","title":["コンパイラ実装言語で中間表現データ構造を記述するための言語機構"],"pubdate":{"attribute_name":"公開日","attribute_value":"2016-09-12"},"_buckets":{"deposit":"46b893fe-c5e2-4904-b238-fb2d085fc1e7"},"_deposit":{"id":"174602","pid":{"type":"depid","value":"174602","revision_id":0},"owners":[11],"status":"published","created_by":11},"item_title":"コンパイラ実装言語で中間表現データ構造を記述するための言語機構","author_link":["360165","360162","360164","360167","360166","360163"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"コンパイラ実装言語で中間表現データ構造を記述するための言語機構"},{"subitem_title":"Approach to Writing an Intermediate Representation in a Language for Compiler Implementation","subitem_title_language":"en"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"[発表概要] ","subitem_subject_scheme":"Other"}]},"item_type_id":"3","publish_date":"2016-09-12","item_3_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"東北大学大学院情報科学研究科"},{"subitem_text_value":"東北大学電気通信研究所"},{"subitem_text_value":"東北大学電気通信研究所"}]},"item_3_text_4":{"attribute_name":"著者所属(英)","attribute_value_mlt":[{"subitem_text_value":"Graduate School of Information Science, Tohoku University","subitem_text_language":"en"},{"subitem_text_value":"Research Institute of Electrical Communication, Tohoku University","subitem_text_language":"en"},{"subitem_text_value":"Research Institute of Electrical Communication, Tohoku University","subitem_text_language":"en"}]},"item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"jpn"}]},"item_publisher":{"attribute_name":"出版者","attribute_value_mlt":[{"subitem_publisher":"情報処理学会","subitem_publisher_language":"ja"}]},"publish_status":"0","weko_shared_id":-1,"item_file_price":{"attribute_name":"Billing file","attribute_type":"file","attribute_value_mlt":[{"url":{"url":"https://ipsj.ixsq.nii.ac.jp/record/174602/files/IPSJ-TPRO0904008.pdf","label":"IPSJ-TPRO0904008.pdf"},"date":[{"dateType":"Available","dateValue":"2018-09-12"}],"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-TPRO0904008.pdf","filesize":[{"value":"102.8 kB"}],"mimetype":"application/pdf","priceinfo":[{"tax":["include_tax"],"price":"0","billingrole":"5"},{"tax":["include_tax"],"price":"0","billingrole":"6"},{"tax":["include_tax"],"price":"0","billingrole":"15"},{"tax":["include_tax"],"price":"0","billingrole":"44"}],"accessrole":"open_date","version_id":"2f16dd41-99fc-47c4-8c20-dddd31957666","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 2016 by the Information Processing Society of Japan"}]},"item_3_creator_5":{"attribute_name":"著者名","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"田畑, 憲太"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"上野, 雄大"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"大堀, 淳"}],"nameIdentifiers":[{}]}]},"item_3_creator_6":{"attribute_name":"著者名(英)","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Kenta, Tabata","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Katsuhiro, Ueno","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Atsushi, Ohori","creatorNameLang":"en"}],"nameIdentifiers":[{}]}]},"item_3_source_id_9":{"attribute_name":"書誌レコードID","attribute_value_mlt":[{"subitem_source_identifier":"AA11464814","subitem_source_identifier_type":"NCID"}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourceuri":"http://purl.org/coar/resource_type/c_6501","resourcetype":"journal article"}]},"item_3_source_id_11":{"attribute_name":"ISSN","attribute_value_mlt":[{"subitem_source_identifier":"1882-7802","subitem_source_identifier_type":"ISSN"}]},"item_3_description_7":{"attribute_name":"論文抄録","attribute_value_mlt":[{"subitem_description":"本論文では,コンパイラ開発者がコンパイルフェイズを簡潔に実装するための言語機構を提案する.コンパイラでは,ユーザが入力したプログラムや変換の過程で経由する各中間表現をデータとして取り扱う必要がある.したがって,コンパイラ開発者はそれらをコンパイラ実装言語の一般的なデータ操作構文を通じて扱う必要がある.この操作構文は言語の構造との対応が自明ではないため,言語仕様記述に比べて多くのコードを書かなければならず,またその正しさも明確ではない.この問題に対する解決策として,本論文では,コンパイラ実装言語そのものをコンパイル対象のプログラムデータを表現する構文として使う機構を提案する.この言語機構は,コンパイラ実装言語で書かれたプログラム断片をデータとして扱う構文と,そのプログラム断片の解釈を与える構文からなる.この機構を使うことで,コンパイラ開発者はコンパイラフェイズが出力するプログラムの一部をコンパイラ実装言語の構文を用いて書くことができる.本論文では,バリアントと組を含むラムダ計算に対して,この機構の拡張を加えた言語を定義し,その意味論を与える.さらに,Standard MLのサブセット言語のインタプリタにおけるこの機構の実装を報告する.またこの機構の実用型付き関数型言語への埋め込みについて議論する.","subitem_description_type":"Other"}]},"item_3_description_8":{"attribute_name":"論文抄録(英)","attribute_value_mlt":[{"subitem_description":"This presentation proposes a language extension that allows compiler implementators to write compilation phases concisely. This extension consists of two constructs: one that regards program fragments as user-level data and another that gives an interpretation to the fragments. These constructs enable compiler implementors to represent a part of output program as data directly in the language for compiler implementation. This presentation defines a lambda calculus extended with these constructs and presents its semantics. This presentation also reports an implementation of the extended calculus in an interpreter of a subset of Standard ML.","subitem_description_type":"Other"}]},"item_3_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicPageEnd":"28","bibliographic_titles":[{"bibliographic_title":"情報処理学会論文誌プログラミング(PRO)"}],"bibliographicPageStart":"28","bibliographicIssueDates":{"bibliographicIssueDate":"2016-09-12","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"4","bibliographicVolumeNumber":"9"}]},"relation_version_is_last":true,"weko_creator_id":"11"},"updated":"2025-01-20T06:38:00.539898+00:00","created":"2025-01-19T00:44:46.329362+00:00","id":174602}