WEKO3
アイテム
A Transformation-Based Implementation of Lightweight Nested Functions
https://ipsj.ixsq.nii.ac.jp/records/16565
https://ipsj.ixsq.nii.ac.jp/records/165659757040f-0243-4454-bd4b-dfd9fbfaeddd
名前 / ファイル | ライセンス | アクション |
---|---|---|
![]() |
Copyright (c) 2006 by the Information Processing Society of Japan
|
|
オープンアクセス |
Item type | Trans(1) | |||||||
---|---|---|---|---|---|---|---|---|
公開日 | 2006-05-15 | |||||||
タイトル | ||||||||
タイトル | A Transformation-Based Implementation of Lightweight Nested Functions | |||||||
タイトル | ||||||||
言語 | en | |||||||
タイトル | A Transformation-Based Implementation of Lightweight Nested Functions | |||||||
言語 | ||||||||
言語 | eng | |||||||
キーワード | ||||||||
主題Scheme | Other | |||||||
主題 | 通常論文 | |||||||
資源タイプ | ||||||||
資源タイプ識別子 | http://purl.org/coar/resource_type/c_6501 | |||||||
資源タイプ | journal article | |||||||
著者所属 | ||||||||
Department of Communications and Computer Engineering Graduate School of Informatics Kyoto University | ||||||||
著者所属 | ||||||||
Department of Communications and Computer Engineering Graduate School of Informatics Kyoto University | ||||||||
著者所属 | ||||||||
Department of Communications and Computer Eng | ||||||||
著者所属(英) | ||||||||
en | ||||||||
Department of Communications and Computer Engineering, Graduate School of Informatics, Kyoto University | ||||||||
著者所属(英) | ||||||||
en | ||||||||
Department of Communications and Computer Engineering, Graduate School of Informatics, Kyoto University | ||||||||
著者所属(英) | ||||||||
en | ||||||||
Department of Communications and Computer Engineering, Graduate School of Informatics, Kyoto University | ||||||||
著者名 |
Tasuku, Hiraishi
× Tasuku, Hiraishi
|
|||||||
著者名(英) |
Tasuku, Hiraishi
× Tasuku, Hiraishi
|
|||||||
論文抄録 | ||||||||
内容記述タイプ | Other | |||||||
内容記述 | The SC language system was developed to provide a transformation-based language extension scheme for SC languages (extended/plain C languages with an S-expression-based syntax). Using this system many flexible extensions to the C language can be implemented by means of transformation rules over S-expressions at low cost mainly because of the preexisting Common Lisp capabilities for manipulating S-expressions. This paper presents the LW-SC (Lightweight-SC) language as an important application of this system featuring nested functions (i.e. functions defined inside other functions). A function can manipulate its caller’s local variables (or local variables of its indirect callers) by indirectly calling a nested function of its callers. Thus many high-level services with “stack walk” can be easily and elegantly implemented by using LW-SC as an intermediate language. Moreover such services can be implemented efficiently because we designed and implemented LW-SC to provide “lightweight” nested functions by aggressively reducing the costs of creating and maintaining nested functions. The GNU C compiler also provides nested functions as an extension to C but our sophisticated translator to standard C is more portable and efficient for occasional“stack walk.” | |||||||
論文抄録(英) | ||||||||
内容記述タイプ | Other | |||||||
内容記述 | The SC language system was developed to provide a transformation-based language extension scheme for SC languages (extended/plain C languages with an S-expression-based syntax). Using this system, many flexible extensions to the C language can be implemented by means of transformation rules over S-expressions at low cost, mainly because of the preexisting Common Lisp capabilities for manipulating S-expressions. This paper presents the LW-SC (Lightweight-SC) language as an important application of this system, featuring nested functions (i.e., functions defined inside other functions). A function can manipulate its caller’s local variables (or local variables of its indirect callers) by indirectly calling a nested function of its callers. Thus, many high-level services with “stack walk” can be easily and elegantly implemented by using LW-SC as an intermediate language. Moreover, such services can be implemented efficiently because we designed and implemented LW-SC to provide “lightweight” nested functions by aggressively reducing the costs of creating and maintaining nested functions. The GNU C compiler also provides nested functions as an extension to C, but our sophisticated translator to standard C is more portable and efficient for occasional“stack walk.” | |||||||
書誌レコードID | ||||||||
収録物識別子タイプ | NCID | |||||||
収録物識別子 | AA11464814 | |||||||
書誌情報 |
情報処理学会論文誌プログラミング(PRO) 巻 47, 号 SIG6(PRO29), p. 50-67, 発行日 2006-05-15 |
|||||||
ISSN | ||||||||
収録物識別子タイプ | ISSN | |||||||
収録物識別子 | 1882-7802 | |||||||
出版者 | ||||||||
言語 | ja | |||||||
出版者 | 情報処理学会 |