gpt4 book ai didi

用于 C 输出的 Javascript 代码生成器?

转载 作者:太空宇宙 更新时间:2023-11-03 23:46:25 26 4
gpt4 key购买 nike

我想在 JSON 中定义一个模式并生成 C 文件来编码/解码符合该模式的流。一个简化的例子...

JSON 对象...

var schema = {
version: 1,

objectA: {
key: 0,
type: "uint32_t",
defaultValue: 42
},

objectB: {
key: 1,
type: "int16_t",
defaultValue: -128
},

objectC: {
key: 2,
type: "double"
defaultValue: "3.1415926"
}
};

...将产生一个 C 头文件...

#define SCHEMA_VERSION (1)

typedef enum keys
{
key_objectA = 0,
key_objectB = 1,
key_objectC = 2,
KEY_COUNT
} keys_t;

typedef uint32_t objectA_t;
typedef int16_t objectB_t;
typedef double objectC_t;

typedef union univ_value
{
objectA_t objectA;
objectB_t objectB;
objectC_t objectC;
} value_t;

result_t encode(char * ostream, keys_t key, value_t * value);
result_t decode(char * istream, keys_t key, value_t * value);

...和相应的 C 源文件(将包含作为数组的默认值,为简洁起见省略)。

是否有代码生成库(最好是 Javascript),我可以使用它来生成头文件和源文件内容?

明确地说,我不希望直接输入 JSON;相反,理想情况下,能够(在 Javascript 中)执行以下操作:

var headerOutput;

headerOutput += dreamCGenerator.appendMacro("define", {
symbol: "SCHEMA_VERSION",
value: schema.version
});

headerOutput += dreamCGenerator.appendEnum(...);

// etc...

最佳答案

经过更多研究/阅读后,我倾向于使用像 handlebars 这样的模板引擎生成 C 头文件/源文件。这似乎是将 C 语法排除在 Javascript 领域之外的最佳方法...

关于用于 C 输出的 Javascript 代码生成器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32132149/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com