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

2017 Fiscal Year Annual Research Report

A methodology for programming language design through general hygienic macro expansion

Research Project

Project/Area Number 26330079
Research InstitutionTokyo Institute of Technology

Principal Investigator

脇田 建  東京工業大学, 情報理工学院, 准教授 (10242265)

Co-Investigator(Kenkyū-buntansha) 渡部 卓雄  東京工業大学, 情報理工学院, 教授 (20222408)
佐々木 晃  法政大学, 情報科学部, 教授 (90396870)
Project Period (FY) 2014-04-01 – 2018-03-31
Keywords健全マクロ / メタプログラミング / 解析構文文法 / 構文解析
Outline of Annual Research Achievements

本課題のテーマ「汎言語的健全構文マクロ機構を用いた言語処理系構築手法」に沿って、健全なマクロ展開システムの実装技術の研究、及びマクロ機構、メタプログラミングを用いた応用研究を進めた。
前者については、字句レベル構文解析文法、および抽象字句ストリームを対象とした構文解析文法を用いる手法について研究を実施した。(1)前者はマクロ定義のパターンとテンプレートの対比を字句レベル構文解析文法(Parsing Expression Grammar)を用いたコンパイラ生成器で実装し、構文マクロ展開後の抽象構文木を逆変換してマクロ記述を含まないホスト言語のコードを生成するアプローチ(伊藤、脇田)である。この手法は、マクロシステム実装に要求される構文の文法記述の負担を大幅に削減できることにある。(2)後者は抽象字句ストリーム上での構文解析文法処理システムのOMetaに近年Flattが提案したスコープ集合を応用したマクロ展開方式を応用したアプローチ(星野、高桑、渡部)である。この研究は、プログラムだけでなくデータ構造に対するマクロ変換も可能となった。
応用面では、以下のいくつかの研究を実施した:(3)GPGPUを用いた汎用並列計算や実時間組込みプログラミングについて応用領域特化型プログラミング技術を応用したPythonの拡張言語を開発(鎌田、佐々木)、(4)プログラミングが困難な実時間組込みシステムについて関数型リアクティブプログラミングを実施できるメタプログラミング機構を設計し可読性とデバッグの容易性を高めた。(中野、佐々木&柴内、渡部)、(5)メタプログラミングを用いた OpenGL 計算シェーダ向け組込みコードの自動生成の研究(高野、脇田)、(6)メタプログラミングを用いたソフトウェアドキュメントの自動生成に向けての一般的な手法(高野、脇田)を試みた。

  • Research Products

    (18 results)

All 2018 2017

All Journal Article (2 results) (of which Peer Reviewed: 1 results) Presentation (16 results) (of which Int'l Joint Research: 7 results,  Invited: 1 results)

  • [Journal Article] 多言語に対応した衛生的マクロ機構導入方式2018

    • Author(s)
      高桑健太郎、渡部卓雄
    • Journal Title

      コンピュータソフトウェア

      Volume: 35 Pages: 33-39

    • DOI

      10.11309/jssst.35.2_33

    • Peer Reviewed
  • [Journal Article] 複雑系ネットワークの可視化 ―社会ネットワークを中心に―2018

    • Author(s)
      脇田建
    • Journal Title

      オペレーションズ・リサーチ

      Volume: 63 Pages: 13-19

  • [Presentation] アクターモデルと関数リアクティブプログラミングの融合による小規模組込みシステム開発2018

    • Author(s)
      渡部卓雄
    • Organizer
      組込み技術とネットワークに関するワークショップ(ETNET2018)
  • [Presentation] プログラム依存グラフを用いた機能性によるソースコードの分類2018

    • Author(s)
      延原宙斗、佐々木晃
    • Organizer
      2018年電子情報通信学会総合大会
  • [Presentation] 局所領域の情報からの予測にもとづく 歩行者モデルに対する回避行動アルゴリズムの研究2018

    • Author(s)
      永島拓弥、鎌田知也、佐々木晃
    • Organizer
      計測自動制御学会システム・情報部門第15回社会システム部会研究会
  • [Presentation] Interactive high-dimensional visualization2018

    • Author(s)
      Ken Wakita, Riku Takano
    • Organizer
      Handai IDS-JFLI joint Workshop on Media and Graphics
    • Int'l Joint Research / Invited
  • [Presentation] Fluid UI for HIGH-dimensional Analysis of Social Networks2018

    • Author(s)
      Riku Takano, Ken Wakita
    • Organizer
      ACM conference on Intelligent User Interface
    • Int'l Joint Research
  • [Presentation] Actoverse: A Reversible Debugger for Actors2017

    • Author(s)
      Kazuhiro Shibanai, Takuo Watanabe
    • Organizer
      7th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control (AGERE_2017)
    • Int'l Joint Research
  • [Presentation] Reactive Reflection in an FRP Language for Small-Scale Embedded Systems2017

    • Author(s)
      Takuo Watanabe
    • Organizer
      Workshop on Meta-Programming Techniques and Reflection (META 2017)
    • Int'l Joint Research
  • [Presentation] 多言語に対応した衛生的マクロ機構導入方式2017

    • Author(s)
      高桑健太郎,_渡部卓雄
    • Organizer
      日本ソフトウェア科学会第34回大会
  • [Presentation] アクターシステムを対象としたリバースデバッギングのためのフレームワーク2017

    • Author(s)
      柴内一宏, 渡部卓雄
    • Organizer
      日本ソフトウェア科学会第34回大会
  • [Presentation] An Actor-Based Execution Model of an FRP Language for Small-Scale Embedded Systems2017

    • Author(s)
      Takuo Watanabe, Yuji Iwasaki
    • Organizer
      7th Workshop on Computation: Theory and Practice (WCTP 2017)
    • Int'l Joint Research
  • [Presentation] 小規模組み込みシステム向けFRP言語のための自己反映機構2017

    • Author(s)
      渡部卓雄
    • Organizer
      情報処理学会第45回組込みシステム研究会(SIGEMB45)
  • [Presentation] An Actor-Based Runtime Monitoring System for Web and Desktop Applications2017

    • Author(s)
      Paul Lavery, Takuo Watanabe
    • Organizer
      18th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and_Parallel/Distributed Computing (SNPD 2017)
    • Int'l Joint Research
  • [Presentation] Towards Reflection in an FRP Language for Small-Scale Embedded Systems2017

    • Author(s)
      Takuo Watanabe, Kensuke Sawada
    • Organizer
      2nd Workshop on Live Adaptation of Software SYstems (LASSY 2017)
    • Int'l Joint Research
  • [Presentation] ビジュアルプログラミングとテキスト記述形式の連携による初学者向けプログラミング学習システムの提案2017

    • Author(s)
      山梨裕矢、佐々木晃
    • Organizer
      情報処理学会第59回プログラミング・シンポジウム
  • [Presentation] ビジュアルブロックの自動生成を特徴としたブロック言語処理系開発システムの提案2017

    • Author(s)
      澤入圭佑、佐々木晃
    • Organizer
      情報処理学会第59回プログラミング・シンポジウム
  • [Presentation] 対話的なネットワーク可視化分析のシェーダー実装による高速化2017

    • Author(s)
      高野陸、脇田建
    • Organizer
      日本ソフトウェア科学会 第34回大会講演論文集

URL: 

Published: 2018-12-17  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi