ログイン 新規登録
言語:

WEKO3

  • トップ
  • ランキング
To
lat lon distance
To

Field does not validate



インデックスリンク

インデックスツリー

メールアドレスを入力してください。

WEKO

One fine body…

WEKO

One fine body…

アイテム

  1. 論文誌(トランザクション)
  2. プログラミング(PRO)
  3. Vol.15
  4. No.4

Racket言語のための抽象解釈に向けて

https://ipsj.ixsq.nii.ac.jp/records/220216
https://ipsj.ixsq.nii.ac.jp/records/220216
941745c4-2797-41af-be97-bf020845726f
名前 / ファイル ライセンス アクション
IPSJ-TPRO1504004.pdf IPSJ-TPRO1504004.pdf (96.0 kB)
Copyright (c) 2022 by the Information Processing Society of Japan
オープンアクセス
Item type Trans(1)
公開日 2022-09-15
タイトル
タイトル Racket言語のための抽象解釈に向けて
タイトル
言語 en
タイトル Towards an Abstract Interpretation for the Racket Language
言語
言語 jpn
キーワード
主題Scheme Other
主題 [発表概要, Unrefereed Presentatin Abstract]
資源タイプ
資源タイプ識別子 http://purl.org/coar/resource_type/c_6501
資源タイプ journal article
著者所属
神奈川大学理学部情報科学科
著者所属(英)
en
Department of Information Sciences, Faculty of Science, Kanagawa University
著者名 馬谷, 誠二

× 馬谷, 誠二

馬谷, 誠二

Search repository
著者名(英) Seiji, Umatani

× Seiji, Umatani

en Seiji, Umatani

Search repository
論文抄録
内容記述タイプ Other
内容記述 Lisp系言語は,少数の特殊形式だけからなるコア言語と,その他多数の構文を実現するためのマクロから構成され,マクロを使用したコードも最終的には特殊形式だけからなるコードへと変換されてから評価される.そのため,原理的には,実行時の振舞いを解析するには特殊形式だけを対象にした解析手法を用いれば十分といえる.しかし,実行コードを生成するマクロ定義を解析できると,デバック時などソフトウェア開発段階において有用である.Scheme言語をベースとするLisp系言語の1つであるRacket言語では,コードに対する低レベルな操作をRacket自身で記述するsyntax-caseを使用できる.さらに,Racketには局所的マクロ展開,定義文脈といったマクロ展開処理をコントロールするための機能,syntax-introduceといったスコープ健全性を逸脱するための機能が追加されており,マクロ展開の実行モデルは特殊形式の評価モデルと比べかなり複雑なものとなっている.本発表では,マクロ定義にとっての操作対象データである構文オブジェクトを適切に抽象化することに加え,マクロ展開の実行モデルの内部構造を抽象化することにより,マクロ定義コードを含めた解析が可能な抽象解釈器の構築を試みる.
論文抄録(英)
内容記述タイプ Other
内容記述 A variant of Lisp languages is typically composed of a core language consisting of only a few special forms and macros for realizing many other constructs. A program using macros is eventually transformed into code consisting only of special forms before evaluation. Therefore, in principle, it is sufficient to use analysis methods that target only special forms to analyze its runtime behavior. However, it would be helpful in software development, such as debugging, if macro definitions that generate the executable code could be analyzed. The Racket language, a Lisp language based on the Scheme language, can use syntax-case to describe low-level code operations in Racket itself. In addition, Racket provides several constructs to control the macro expansion process, such as local macro expansion, definition context, and functions to deviate from scope hygiene, such as syntax-introduce. This makes the execution model of macro expansion much more complex than that of special-form evaluation models. In this presentation, we attempt to construct an abstract interpreter for analyzing Racket programs with macro definitions by appropriately abstracting the syntax objects that are manipulation targets of macro definitions and appropriately abstracting the execution model of macro expansion.
書誌レコードID
収録物識別子タイプ NCID
収録物識別子 AA11464814
書誌情報 情報処理学会論文誌プログラミング(PRO)

巻 15, 号 4, p. 1-1, 発行日 2022-09-15
ISSN
収録物識別子タイプ ISSN
収録物識別子 1882-7802
出版者
言語 ja
出版者 情報処理学会
戻る
0
views
See details
Views

Versions

Ver.1 2025-01-19 14:38:43.868328
Show All versions

Share

Mendeley Twitter Facebook Print Addthis

Cite as

エクスポート

OAI-PMH
  • OAI-PMH JPCOAR
  • OAI-PMH DublinCore
  • OAI-PMH DDI
Other Formats
  • JSON
  • BIBTEX

Confirm


Powered by WEKO3


Powered by WEKO3