types - 是否有一种类型定义语言旨在翻译语言之间的类型?
问题描述
我正在寻找一种工具,它允许我使用某种语言或标记(yaml、json 或类似)定义我的类型,然后使用另一种工具将类型导出/翻译为目标语言 - 确保类型与目标语言中的等效类型。
这种“类型特定”的语言是否存在?
解决方案
考虑将 Ada 类型定义正确转换为等效的 C 类型可能存在的困难。
type Angle is mod 360;
Ada 类型定义了一个无符号整数,其最小有效值为 0,最大有效值为 359。该类型在有效值限制处表现出环绕行为。换句话说,从 0 中减去 1 会得到 359,将 1 加到 359 会得到 0。
C 没有等效类型。无符号字节不能保存最大值。无符号字不能将最大值限制为 359。虽然环绕语义内置于 Ada 类型定义中,但 C 程序员必须手动编写专门的算术函数来实现相应的环绕语义。除了简单地在 C 中声明一个类型以生成与 Ada 类型声明中定义的类型真正等效的类型之外,还必须做很多工作。
推荐阅读
- linux - 如何禁用以破折号“-”开头的服务名称
- android - android 模块化 - 通过 Intent 启动时从另一个模块获取回调
- perl - Perl SOAP::LITE — 如何添加 http 请求头
- flutter - 这句话是什么意思:“尝试使用 Stream 替换 ChangeNotifier 超出了该类的范围。”
- php - Symfony 4:定义默认的独白记录器/邮件程序将日志发送到错误的处理程序
- c# - Type.IsPrimitive 适用于泛型类型?
- vue.js - NuxtJS 访问 localhost:3000 附加路由基本 url
- android - Android Studio 未在 AMD Ryzen 上启动 Android 模拟器
- python - 如果类的权重不同,如何绘制逻辑回归模型的 roc 曲线
- twitter-bootstrap - 引导固定顶级课程有问题