• 研究課題をさがす
  • 研究者をさがす
  • KAKENの使い方
  1. 課題ページに戻る

2018 年度 実績報告書

ドメイン専用言語の実装技術

研究課題

研究課題/領域番号 15H02682
研究機関東京大学

研究代表者

千葉 滋  東京大学, 大学院情報理工学系研究科, 教授 (80282713)

研究期間 (年度) 2015-04-01 – 2019-03-31
キーワードソフトウェア開発の効率化・安定化 / ソフトウェア学 / プログラミング言語
研究実績の概要

汎用的なホスト言語上にライブラリとしてDSLを実装する技術である埋め込みDSL (embedded DSL) の実装技術について引き続き研究開発をおこなった。今年度もとくにメソッド呼び出しやフィールドアクセスの連鎖で埋め込み DSL プログラムを表現する fluent API と呼ばれる技法に着目し、この連鎖の正しさを静的に検査する手法の研究をおこなった。まず、比較的弱い型システムをもつが産業界等で広く使われている Java 言語向けに開発した、fluent API生成器 Silverchain の実装技術について、前年度発表の論文の内容をさらに深めた論文を発表した。さらに Java 言語より強力な型システムをもつ Scala や Haskel, C++ 言語向けにも同様の fluent API 生成器を開発した。この生成器 typelevelLR が生成する fluent API は、誤った連鎖でその API を利用すると、ホスト言語のコンパイラの型検査器がエラーを発する API である。正しい連鎖の定義は、LR 文法の形で生成器に与えられる。我々が開発した同様の生成器である Silverchain は LR 文法の形で与えられる連鎖の定義を処理することはできなかった。関連研究には Java 言語で LR文法の形で与えられる定義を処理可能であることを示した研究も存在するが、実用的な速度で型検査できる fluent API を生成することはできなかった。我々の typelevelLR は type class を活用し、実用的な速度で型検査できる API を生成する。また Ruby 言語から Python 言語の上の埋め込み DSL を無用な混乱なく利用できるようにするフレームワーク Yadriggy も研究開発した。

現在までの達成度 (段落)

平成30年度が最終年度であるため、記入しない。

今後の研究の推進方策

平成30年度が最終年度であるため、記入しない。

  • 研究成果

    (6件)

すべて 2020 2019 2018

すべて 雑誌論文 (6件) (うち査読あり 6件)

  • [雑誌論文] Generating a Generic Fluent API in Java2020

    • 著者名/発表者名
      Tomoki Nakamaru and Shigeru Chiba
    • 雑誌名

      The Art, Science, and Engineering of Programming

      巻: 4 ページ: -

    • DOI

      10.22152/programming-journal.org/2020/4/9

    • 査読あり
  • [雑誌論文] Generating fluent embedded domain-specific languages with subchaining2019

    • 著者名/発表者名
      Tomoki Nakamaru, Kazuhiro Ichikawa, Tetsuro Yamazaki, and Shigeru Chiba
    • 雑誌名

      Journal of Computer Languages

      巻: 50 ページ: 70-83

    • DOI

      10.1016/j.jvlc.2018.11.001

    • 査読あり
  • [雑誌論文] Buffered Garbage Collection: An Approach to Collecting Self-Created Garbage Objects2019

    • 著者名/発表者名
      Tetsuro Yamazaki, Shigeru Chiba
    • 雑誌名

      Journal of Information Processing

      巻: 27 ページ: 479-488

    • DOI

      10.2197/ipsjjip.27.479

    • 査読あり
  • [雑誌論文] Foreign language interfaces by code migration2019

    • 著者名/発表者名
      Shigeru Chiba
    • 雑誌名

      The 18th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (GPCE 2019)

      巻: - ページ: 1-13

    • DOI

      10.1145/3357765.3359521

    • 査読あり
  • [雑誌論文] Generating a fluent API with syntax checking from an LR grammar2019

    • 著者名/発表者名
      Tetsuro Yamazaki, Tomoki Nakamaru, Kazuhiro Ichikawa, and Shigeru Chiba
    • 雑誌名

      The ACM Proceedings of the ACM on Programming Languages (PACMPL)

      巻: 3 ページ: 134:1-134:24

    • DOI

      10.1145/3360560

    • 査読あり
  • [雑誌論文] Buffered Garbage Collection for Self-Reflective Customization2018

    • 著者名/発表者名
      Tetsuro Yamazaki and Shigeru Chiba
    • 雑誌名

      Proc. of 33rd Annual ACM Symposium on Applied Computing (SAC 2018)

      巻: - ページ: 1256-1259

    • DOI

      10.1145/3167132.3167416

    • 査読あり

URL: 

公開日: 2021-01-27  

サービス概要 検索マニュアル よくある質問 お知らせ 利用規程 科研費による研究の帰属

Powered by NII kakenhi