{"id":30272,"updated":"2025-01-22T17:08:58.124442+00:00","links":{},"created":"2025-01-18T22:59:54.835948+00:00","metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00030272","sets":["1164:2386:2390:2396"]},"path":["2396"],"owner":"1","recid":"30272","title":["手続き型言語での再帰の除去について"],"pubdate":{"attribute_name":"公開日","attribute_value":"1997-01-23"},"_buckets":{"deposit":"260378f6-5ca7-4084-8454-9f1a5d660c20"},"_deposit":{"id":"30272","pid":{"type":"depid","value":"30272","revision_id":0},"owners":[1],"status":"published","created_by":1},"item_title":"手続き型言語での再帰の除去について","author_link":["0","0"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"手続き型言語での再帰の除去について"},{"subitem_title":"Removal of recursive call in procedural language","subitem_title_language":"en"}]},"item_type_id":"4","publish_date":"1997-01-23","item_4_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"電気通信大学情報工学科"},{"subitem_text_value":"電気通信大学情報工学科"}]},"item_4_text_4":{"attribute_name":"著者所属(英)","attribute_value_mlt":[{"subitem_text_value":"Department of Computer Science, University of Electro - Communications","subitem_text_language":"en"},{"subitem_text_value":"Department of Computer Science, University of Electro - Communications","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/30272/files/IPSJ-PRO96011014.pdf"},"date":[{"dateType":"Available","dateValue":"1999-01-23"}],"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-PRO96011014.pdf","filesize":[{"value":"348.7 kB"}],"mimetype":"application/pdf","priceinfo":[{"tax":["include_tax"],"price":"660","billingrole":"5"},{"tax":["include_tax"],"price":"330","billingrole":"6"},{"tax":["include_tax"],"price":"0","billingrole":"15"},{"tax":["include_tax"],"price":"0","billingrole":"44"}],"accessrole":"open_date","version_id":"7484bb4c-3bc8-4693-b3b6-d484082696e1","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 1997 by the Information Processing Society of Japan"}]},"item_4_creator_5":{"attribute_name":"著者名","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"北川, 拓"},{"creatorName":"渡辺, 坦"}],"nameIdentifiers":[{}]}]},"item_4_creator_6":{"attribute_name":"著者名(英)","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Taku, Kitagawa","creatorNameLang":"en"},{"creatorName":"Tan, Watanabe","creatorNameLang":"en"}],"nameIdentifiers":[{}]}]},"item_4_source_id_9":{"attribute_name":"書誌レコードID","attribute_value_mlt":[{"subitem_source_identifier":"AN10485570","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_description_7":{"attribute_name":"論文抄録","attribute_value_mlt":[{"subitem_description":"再帰呼び出しを用いたプログラムは、同じ処理を再帰を用いずに書いた場合と比べて実行するのに時間とメモリを多く必要とする。そのため、再帰呼び出しに対する最適化が望まれるが、それの実装されているコンパイラはわずかしか無い。本稿では、線形再帰を末尾再帰に変換して最適化する方法を提案し、実装を行なった。この方式はArsacとKodratoffによって提案された方法を改良したもので、彼らの方法では末尾再帰の変換に発見的方法を用いているが、それを本稿では探索を実装に適したアルゴリズミックな手順で実現している。","subitem_description_type":"Other"}]},"item_4_description_8":{"attribute_name":"論文抄録(英)","attribute_value_mlt":[{"subitem_description":"Execution overhead of recursive call is high and it is desirable to improve its object code. However, only a few compilers do it. We propose a technique of object code optimization for recursive calls and implemented it in our complier. In this technique, liner recursion is transformed to tail recursion by using Arsac and Kodratoff's method and then transformed to loop. Arsac and Kodratoff use heuristic method in finding tail recursion function, but we propose an algorithmic method suitable for computer.","subitem_description_type":"Other"}]},"item_4_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicPageEnd":"107","bibliographic_titles":[{"bibliographic_title":"情報処理学会研究報告プログラミング(PRO)"}],"bibliographicPageStart":"101","bibliographicIssueDates":{"bibliographicIssueDate":"1997-01-23","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"9(1996-PRO-011)","bibliographicVolumeNumber":"1997"}]},"relation_version_is_last":true,"weko_creator_id":"1"}}