SO中文参考
首页
(current)
程序语言
c
java
python
c++
go
javascript
swift
c#
操作系统
linux
ubuntu
centos
unix
数据库
oracle
mysql
mongodb
postgresql
框架
node.js
angular
react-native
avalon
django
twisted
hadoop
.net
移动开发
android
ios
搜索
RascalMPL 中输入错误导致翻译失败
问题描述
投票:0
回答:1
我目前正在使用 TypePal 进行 DSL 的静态类型处理。关于如何连接代码生成脚本的良好做法是什么,这样如果检查器发现错误,它应该无法继续生成代码?
rascal
1个回答
0
投票
如果你可以为程序的 90% 生成正确的代码,并且你必须跳过或生成最后 10% 的
throw
,那么人们将能够运行代码并进行游戏,即使它不是 100% 正确。这种循序渐进的实验能力往往受到 DSL 用户的赞赏
如果您
必须
保证生成的代码的安全性、稳定性或鲁棒性,那么您必须确保类型检查器是代码生成的质量门。
或者,如果您可以保证在代码未被证明正确运行的情况下抛出异常,那么您可以将两者结合起来。
某些 DSL 编译器具有以下模式:在“调试”模式下,您执行第一个选项,而在“运行”(部署)模式下,您坚持所有错误均已修复。
您还可以玩弄“警告”、“错误”和“信息”之间的区别。出现警告时,您仍然可以生成工作代码,而出现错误时,一切都将失败,您必须生成
throw
或停止编译器。
最新问题
javascript中的正则表达式不仅允许字段中存在空格,还允许带有空格的字符串,并且还允许空字段
两个 component.ts 文件指向同一个 component.html 文件
我无法从 Next Js API 中的对象获取 id
为什么在 React-Day-Picker 中添加新组件后我的模式无法打开?
Office 阻止在 Windows 10 上通过 Office URI 方案打开文件
如何在 Spring Boot 集成测试中将 Awaitility 与身份验证上下文结合使用?
我怎样才能让我的WordPress博客同时过滤和选择猫和标签,现在这只允许我单独选择它们
如何解决sqlalchemy Invalid-Request-Error?
如何为StreamField默认值指定嵌套块?
“MySql”查询没有为我提供正确的输出来匹配单词以标签/搜索的形式使用它们
如何快速制作密码确认器 3
如何在 BigQuery 中给定大图生成连接组件?
将Python中特定的中文标点符号替换为相应的英文标点符号
在 Azure ML sdk v2 中“从内部”取消当前管道作业
如何在Shopify JS中强制重新加载和清理数据?
Google 表格 - 返回具有多个匹配条件的第 N 个结果
键/值对作为 PHP 中的变量
如何测试prawn-table生成的pdf内容
将 ImageDataGenerator 传递到分割模型的 U-net 进行多类分类
刷新令牌时,得到“client_invalid”,即使我使用相同的客户端来获取刷新令牌
© www.soinside.com 2019 - 2024. All rights reserved.