【发布时间】:2010-07-06 10:56:53
【问题描述】:
目前我正在考虑是否重写我用 C++ 维护的编程语言解释器。解释器目前是用 C 语言实现的。
但我想知道,primary 实现——因为,当然,人们已经使用不同于原作者使用的语言制作了许多解释器的版本——任何流行的 目前使用的编程语言解释器是用 C++ 编写的?
如果没有,是否有充分的理由不用 C++ 编写解释器?我的理解是,如果正确编写 C++ 代码,它可以非常便携,并且可以编译以与执行相同操作的已编译 C 代码一样快。
【问题讨论】:
-
您的解释器运行了吗?稳定吗?被人使用?为什么要全部重写?
-
如果你已经有一个 C 实现,那是一个很好的理由不用 C++ 重写它。
-
当然,我的解释器可以运行,但它存在许多问题——尤其是笨拙的符号处理和大量内存泄漏。这些缺陷是如此之大,以至于我认为解决它们的最佳方法是从头开始重写解释器。鉴于重写语言的唯一两个真正的竞争者是 C 和 C++,我想知道 C++ 是否是实现解释器的更好语言,考虑到它为内存管理和字符串提供(似乎是)更直观的设施处理。
-
+1 因为不认为 C 和 C++ 基本相同。
-
您对 C++ 的了解与对 C 的了解一样多吗?您对 C++ 的了解是否足以编写程序而无需花费大量时间学习习语和实现目标的最佳方法?本质上,您会在进行此重写的同时学习 C++ 吗?如果是这样,那么恕我直言,您应该坚持您的 C 实现,除非您想在知道自己在做什么后可能再次重写。
标签: c++ c interpreter