A Transformation-Based Implementation of Lightweight Nested Functions
スポンサーリンク
概要
- 論文の詳細を見る
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.”
著者
-
Yuasa Taiichi
Department Of Communications And Computer Engineering Graduate School Of Informatics Kyoto Universit
-
Hiraishi Tasuku
Department Of Communications And Computer Engineering Graduate School Of Informatics Kyoto Universit
-
Yasugi Masahiro
Department of Artificial Intelligence, Kyushu Institute of Technology
-
Hiraishi Tasuku
Department of Communications and Computer Engineering, Graduate School of Informatics, Kyoto University
関連論文
- Highly Reliable Embedded Software Development Using Advanced Software Technologies(Software Engineering for Embedded Systems)
- A New Algorithm for 2D Convolution on Mesh-connected SIMD Computers
- Time-Optimal 2D Convolution on Mesh-Connected SIMD Computers with Bounded Number of PEs (Special Issue on Architectures Algorithms and Networks for Massively Parallel Computing)
- A Transformation-Based Implementation of Lightweight Nested Functions
- Efficient and Portable Implementation of Java-style Exception Handling in C
- Design and Implementation of Kyoto Common Lisp
- SEAN: Support Tool for Detecting Rule Violations in JNI Coding
- A Transformation-Based Implementation of Lightweight Nested Functions
- A Transformation-Based Implementation of Lightweight Nested Functions
- SEAN: Support Tool for Detecting Rule Violations in JNI Coding
- Efficient and Portable Implementation of Java-style Exception Handling in C
- Efficient and Portable Implementation of Java-style Exception Handling in C