• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to previous page

部分評価を使った自己反映言語のコンパイル技法

Research Project

Project/Area Number 09780251
Research Category

Grant-in-Aid for Encouragement of Young Scientists (A)

Allocation TypeSingle-year Grants
Research Field 計算機科学
Research InstitutionThe University of Tokyo

Principal Investigator

浅井 健一  東京大学, 大学院・理学系研究科, 助手 (10262156)

Project Period (FY) 1997 – 1998
Project Status Completed (Fiscal Year 1998)
Budget Amount *help
¥2,000,000 (Direct Cost: ¥2,000,000)
Fiscal Year 1998: ¥600,000 (Direct Cost: ¥600,000)
Fiscal Year 1997: ¥1,400,000 (Direct Cost: ¥1,400,000)
Keywords自己反映言語 / 部分評価 / コンパイル / コンパイラジェネレータ / 副作用命令 / 関数型言語
Research Abstract

自己反映言語のコンパイルを目指して、おもにその基礎技術である部分評価法の研究を行った。部分評価器を自己反映言語のコンパイラとして使用するためには、使用する部分評価器が(1)十分、強力で、かつ(2)効率的に動くこと、の2点が重要である。これらに対応して以下のような結果を得た。
1. 部分評価器の能力として、構造データをきちんと扱えることが重要で、そのためには部分評価時に各式の値とコードの両方を保持することが重要であることを発見した。これに基づいて実際にonlineの部分評価器を作成し、その効果を確かめた。しかし、この方法はonlineのため効率に問題があることがわかった。
2. より効率的な部分評価を実現するべく、上記の方法をofflineに拡張する方法を提案した。この方法は、構造データをうまく扱う特化器の作成と束縛時解析器の作成というふたつの部分からなる。このうち前者は、必要に応じて値とコードの両方を保持し、かつコードの複製を避けるためコード部分を必ずlet式に残すことでうまくできることがわかった。この特化器を使って実際にいろいろな特化を行い、自己適用によるコンパイラジェネレータの作成を含めてうまく動くことを確認した。後者に関しては、従来の束縛時解析の手法を拡張することで、値とコードの両方を持つべき場所を特定できることを示した。その過程で、束縛時解析は、比較的、素直に制約を生成する型システムとして定式化できるが、制約を解くためには従来の手法と違い、2段階にわける必要があることがわかった。束縛時解析は実際に実装を行い、うまく動くことを確認した。
今後の課題としては、ここで提案した束縛時解析の多段の部分評価への応用、今回は行うことができなかった自己反映言語のコンパイルへの実際の適用などがあげられる。

Report

(2 results)
  • 1998 Annual Research Report
  • 1997 Annual Research Report
  • Research Products

    (3 results)

All Other

All Publications (3 results)

  • [Publications] Kenichi Asai,Hidehiko Masuhara,Akinori Yonezawa: "Partial Evaluation of Call-by-value A-caleulus with Side-effects" Proceedings of the ACM SIGPLAN Symposium on Partial Evaluation and Semihistics・Based Program Manipulativn(PEPM'97). 12-21 (1997)

    • Related Report
      1998 Annual Research Report
  • [Publications] 浅井 健一: "静的が動的な式を許すような部分評価器のための束縛時解析" 第1回プログラミングおよびプログラム言語ワークショップ(PPL'98)論文集. (1999)

    • Related Report
      1998 Annual Research Report
  • [Publications] Kenichi Asai, Hidehiko Matsuhara, Akinori Yonezawa: "Partial Evaluation of Call-by-value λ-caleulus with Side-effects" Proceedings of the ACH SIGPLAN Synposium on Patal Evaluation and Semamtics-Based program Maripnlation (PEPM'97). 12-21 (1997)

    • Related Report
      1997 Annual Research Report

URL: 

Published: 1997-04-01   Modified: 2016-04-21  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi