2

我刚刚偶然发现了picoc,它的功能给我留下了深刻的印象——尤其是它可以通过添加新功能等进行扩展。它使我免于尝试“推出我自己的”解释器。

但是,我想知道是否可以通过以下方式扩展 picoc:

  1. 添加新数据类型(例如,MySimpleDataType、MyPointerDataType)
  2. 为我的新数据类型添加简单的算术运算符函数(+、-、/、* 等)。

有没有人有这样做的经验,或者有人可以提供有关如何将新数据类型及其运算符函数添加到 picoc 的指针?

[[编辑]]

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

4

2 回答 2

1

添加新类型的方式与添加新函数的方式相同。通过检查 picoc 的 source 可以得到一个简单的例子stdbool.c,你会typedef int bool;StdboolDefs元素中找到 a 。您必须到别处include.c寻找,才能找到正在使用的元素;您会发现它是调用的“SetupCSource”参数IncludeRegister()

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

于 2013-11-08T14:41:50.503 回答
1

In general, C does not have operators overloading (while C++ does). Picoc is positioned as very tiny and having only the essentials, so I don't think it provides any extensions for it.

于 2013-11-08T07:44:42.947 回答