Return
Enabling Deep Recursion in C++
DOI:10.3390/computers15010015.png)
Abstract
En 中文
Recursion is often presented as a nice and illustrative technique, only to later conclude that it should (almost) never be used due to potential problems with call stack overflow. However, recursion can often be the technique of choice during algorithm development and testing, and even in final solutions. Therefore, a simple but effective technique is needed to overcome call stack limitations. We designed and implemented the Extendable Stack Library (ESL), which provides a simple and effective interface that enables deep recursion in C++. Its flexible usage model allows deep recursion to be used where needed, without requiring major project modifications or customization of development tools. The performance overhead is moderate and localized only to deep recursive functions using ESL. The library is designed to be flexible and cross-platform. It supports Linux on AMD64 and AArch64 processors and Windows on AMD64. It can be adapted to more platforms with relative ease. ESL has been tested through a series of unit tests, experiments, and practical applications. It has proven to be an effective solution for deep recursion. ESL has been successfully used in the implementation of the Wafl programming language interpreter.
AI Summary
Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.
Journal
C
IF:
4.2
Papers:
1.4K
Citations:
3.3K

