在picoc中添加新数据类型(以及新数据类型的算术运算符)

时间:2013-11-07 22:08:30

标签: c interpreter picoc

我偶然发现了picoc,我对它能做的事情印象非常深刻 - 特别是它可以通过添加新功能等来扩展。这使我免于试图“滚动我自己的“翻译。

但是,我想知道无论如何我可以通过以下方式扩展picoc:

  1. 添加新数据类型(例如,MySimpleDataType,MyPointerDataType)
  2. 为我的新数据类型添加简单的算术运算符函数(+, - ,/,* etc)。
  3. 有没有人有这方面的经验,或者有人可以提供有关如何将新数据类型及其操作员功能添加到picoc的指示?

    [[编辑]]

    在进一步检查代码时,我相信我已经找到了如何添加新数据类型(通过修改type.c)。但是,我仍然不清楚如何在picoc中为新数据类型添加算术运算符。任何帮助表示赞赏,

2 个答案:

答案 0 :(得分:1)

通常,C没有运算符重载(而C ++也是如此)。 Picoc定位非常小,只有必需品,所以我认为它没有为它提供任何扩展。

答案 1 :(得分:1)

添加新类型的方法与添加新功能的方式相同。可以通过检查picoc的源stdbool.c来获得一个简单的示例,您可以在typedef int bool;元素中找到StdboolDefs。您必须查看其他地方include.c,以查找正在使用的元素;你会发现它是IncludeRegister()电话的“SetupCSource”参数。

关于添加新的运算符 - 当然这是可能的,但只有对picoc库进行相当有创的改变。正如@yeputons所说,C语言不允许你更改或添加运算符,因此picoc没有理由直接支持它。