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
Masahiro, Yasugi
Taiichi, Yuasa
× Tasuku, Hiraishi Masahiro, Yasugi Taiichi, Yuasa
|
|||||||
| 著者名(英) |
Tasuku, Hiraishi
Masahiro, Yasugi
Taiichi, Yuasa
× Tasuku, Hiraishi Masahiro, Yasugi Taiichi, Yuasa
|
|||||||
| 論文抄録 | ||||||||
| 内容記述タイプ | 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 | |||||||
| 出版者 | 情報処理学会 | |||||||