【发布时间】:2011-09-08 00:37:19
【问题描述】:
在断章取义时,问题标题可能会产生误导。让我先解释一下我要构建的内容。
我正在构建一个脚本,它将包含我的学生编写的 100 多个非常简单的 C 程序,并检查一些非常基本的属性,例如。
- 他们是否声明了一个名为“x”的变量,它的类型是否为“int”等等。
- 变量“z”的值是多少?
如果这是某种脚本编程语言,这可能会容易得多。我本可以简单地使用 include 或 eval 然后进行检查。
但是当谈到 C 编程时,我会说这非常困难。我该怎么做 ?
【问题讨论】:
-
我希望我的教授当时给我单元测试代码来编写代码!为什么不提供一个简单的单元测试模块供学生编写代码?
-
我想建立一个门户,学生可以在业余时间来这里,在浏览器中针对列出的目标提交一些代码,他们将为每个成功的目标获得积分。
-
好吧,你可以告诉他们从标准输入中获取输入,然后将输出提供给标准输出。这样,在服务器端,您可以尝试编译代码,如果它编译通过标准流提供输入和接收输出。
-
@chisaycock:如果你有足够的时间来构建一个完整的 C 解析器,那么你可以获得这样的答案。我们大多数人的生命有限,都想做点别的事情。
标签: c parsing reflection verification abstract-syntax-tree