{"metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00182702","sets":["1164:1384:9129:9211"]},"path":["9211"],"owner":"11","recid":"182702","title":["再帰呼び出しを持つC言語サブセットからMalbolgeヘのコンパイラ"],"pubdate":{"attribute_name":"公開日","attribute_value":"2017-07-12"},"_buckets":{"deposit":"5e7b507a-ab0c-4fd9-8e94-b0292bdcf41a"},"_deposit":{"id":"182702","pid":{"type":"depid","value":"182702","revision_id":0},"owners":[11],"status":"published","created_by":11},"item_title":"再帰呼び出しを持つC言語サブセットからMalbolgeヘのコンパイラ","author_link":["398665","398664","398668","398671","398670","398662","398666","398667","398663","398669"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"再帰呼び出しを持つC言語サブセットからMalbolgeヘのコンパイラ"},{"subitem_title":"A compiler that translates to Malbolge from a C-language subset containing recursive calls","subitem_title_language":"en"}]},"item_type_id":"4","publish_date":"2017-07-12","item_4_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"名古屋大学大学院情報学研究科"},{"subitem_text_value":"株式会社トヨタケーラム/名古屋大学大学院情報科学研究科"},{"subitem_text_value":"名古屋大学大学院情報学研究科"},{"subitem_text_value":"名古屋大学大学院情報学研究科"},{"subitem_text_value":"名古屋大学大学院情報学研究科"}]},"item_4_text_4":{"attribute_name":"著者所属(英)","attribute_value_mlt":[{"subitem_text_value":"Graduate School of Informatics, Nagoya University","subitem_text_language":"en"},{"subitem_text_value":" / Graduate School of Information Science, Nagoya University","subitem_text_language":"en"},{"subitem_text_value":"Graduate School of Informatics, Nagoya University","subitem_text_language":"en"},{"subitem_text_value":"Graduate School of Informatics, Nagoya University","subitem_text_language":"en"},{"subitem_text_value":"Graduate School of Informatics, Nagoya 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/182702/files/IPSJ-SE17196024.pdf","label":"IPSJ-SE17196024.pdf"},"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-SE17196024.pdf","filesize":[{"value":"758.2 kB"}],"mimetype":"application/pdf","priceinfo":[{"tax":["include_tax"],"price":"0","billingrole":"12"},{"tax":["include_tax"],"price":"0","billingrole":"44"}],"accessrole":"open_login","version_id":"4fdca03e-a4f2-4c1f-a24e-605819c1dc96","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 2017 by the Institute of Electronics, Information and Communication Engineers This SIG report is only available to those in membership of the SIG."}]},"item_4_creator_5":{"attribute_name":"著者名","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"坂梨, 元軌"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"河邉, 翔平"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"酒井, 正彦"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"西田, 直樹"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"橋本, 健二"}],"nameIdentifiers":[{}]}]},"item_4_creator_6":{"attribute_name":"著者名(英)","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Genki, Sakanashi","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Shohei, Kobe","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Masahiko, Sakai","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Naoki, Nishida","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Kenji, Hashimoto","creatorNameLang":"en"}],"nameIdentifiers":[{}]}]},"item_4_source_id_9":{"attribute_name":"書誌レコードID","attribute_value_mlt":[{"subitem_source_identifier":"AN10112981","subitem_source_identifier_type":"NCID"}]},"item_4_textarea_12":{"attribute_name":"Notice","attribute_value_mlt":[{"subitem_textarea_value":"SIG Technical Reports are nonrefereed and hence may later appear in any journals, conferences, symposia, etc."}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourceuri":"http://purl.org/coar/resource_type/c_18gh","resourcetype":"technical report"}]},"item_4_source_id_11":{"attribute_name":"ISSN","attribute_value_mlt":[{"subitem_source_identifier":"2188-8825","subitem_source_identifier_type":"ISSN"}]},"item_4_description_7":{"attribute_name":"論文抄録","attribute_value_mlt":[{"subitem_description":"難読プログラミング言語 Malbolge は,その解析困難性により知的財産権の保護などに役立つと考えられているが,命令が特殊であるためプログラムの作成は非常に困難である.そのため,Malbolge プログラムを生成するための中間言語として制御付き疑似命令列が提案されているが,C などの通常の言語と比較すると依然としてプログラミングが困難である.本稿では,整数型と真偽型を扱え,while 文などの基本的な制御構造と再帰関数を定義できる C 言語のサブセットのプログラムから Malbolge コードへのコンパイラの実現法を述べる.コンパイラの実現のために,まず,既存の制御付き疑似命令列に配列構文と関数構文を追加し,それにあわせて既存の制御付き疑似命令列から Malbolge への変換系を拡張する.さらに C 言語のサプセットから制御付き疑似命令列へ変換する方法を提案する.","subitem_description_type":"Other"}]},"item_4_description_8":{"attribute_name":"論文抄録(英)","attribute_value_mlt":[{"subitem_description":"Malbolge is an esoteric programming language, which is promising to protect intellectual property rights due to its difficulty of analysis. It is, however, very difficult to program because of its peculiar instructions. Tackling this problem, pseudo-instruction sequences was developed as an intermediate language for generating Malbolge programs. Nevertheless it is still difficult to program compared with ordinary languages like C. In this article, we present how to implement a compiler that translates to Malbolge from a C-language subset containing the integer type, the Boolean type, basic control structures such as while statement, and recursive calls. In the implementation, we firstly added array syntax and function syntax to pseudo-instruction sequences, and strengthen existing tools for the extention to conform with it. We next propose a translation method from C-language subset to pseudo-instruction sequences.","subitem_description_type":"Other"}]},"item_4_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicPageEnd":"6","bibliographic_titles":[{"bibliographic_title":"研究報告ソフトウェア工学(SE)"}],"bibliographicPageStart":"1","bibliographicIssueDates":{"bibliographicIssueDate":"2017-07-12","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"24","bibliographicVolumeNumber":"2017-SE-196"}]},"relation_version_is_last":true,"weko_creator_id":"11"},"id":182702,"updated":"2025-01-20T03:59:31.175327+00:00","links":{},"created":"2025-01-19T00:50:17.297665+00:00"}