我试图找到一种"元语言"可用于定义结构和获取/设置成员的代码。问题在于结构已经存在于代码中,并且这种元语言已经存在。将用作原始手工编码结构的逐位替换,以允许生成描述结构的头部。关键是这些结构被用作C#应用程序和嵌入式设备之间的协议的一部分(不是基于Linux的,比PIC或CM0更小,更受限制)。 元语言将充当
元语言需要支持
收到数据时,对数据进行有限的验证也是很好的。
到目前为止,我已经看了
所有这些都非常适合文档和构建新协议,但是试图保持与现有协议的兼容性,并且由于数据封送中固有的类型编码而导致这些协议不足。
我还查看了ASN.1的ECN编码,但这似乎太难以理解,导致文档出现问题。
我看过Generating C# structure from C structure,但那里没有一个不错的选择。
有什么建议吗?
答案 0 :(得分:0)
你想要的是Program Transformation System。
这些工具可以读取任意计算机语言实例,然后将它们转换为其他有效的语言实例,有时使用相同的语言,有时使用不同的语言。它们是通用的,因为您可以为它们提供您想要操作的语言的描述,然后它们就可以对这些语言进行操作。
这个空间中的好工具让您可以根据感兴趣的语言的(" surface")语法编写代码转换,基本上以&#34的形式编写代码转换;如果您看到这个,用 "。
替换它对于OP的场景,必要的转换是"如果你看到结构中的这个插槽用相应的getter和setter替换它,以及替换的struct成员目标语言。
在您的情况下,您需要在3种情景中进行选择:
然后你必须坐下来,为工具定义语言(如果它们尚未定义),并构建变换。
(完全披露:我建立了这样一个工具。见我的生物)。