伪代码翻译

时间:2013-05-18 06:18:59

标签: c++ .net c compiler-construction pseudocode

我几个小时前就开始使用伪代码转换器,它将特定的伪代码转换为c / c ++可执行代码,使用堆栈和队列进行调整。翻译有教育用途。

我还在设计项目。

我开始考虑如何做到这一点;我想,也许最好的方法是,首先,分析伪代码,改变它以使其成为c / c ++代码,然后编译它以使其成为exe。

现在,这意味着客户机应该安装一个c / c ++编译器。

当我使用.NET clases(System.Collections.Generic.Queue(Of T)System.Collections.Generic.Stack(Of T))时,我认为解决方案是使用Visual Studio用于编译c / c ++代码的相同编译器。

我一直在调查这个过程,据我所知,使用visual studio工具编译c / c ++代码的唯一方法是从Visual Studio命令提示符执行cl.exe。我在MSDN (article about how to manually compiling a c/c++ program)

处找到了相关信息

所以我的第一个问题是:.NET Framework的用户界面(这意味着,假设用户没有Visual Studio)是否包含c / c ++编译器?如果是的话,它是否包含在visual studio,cl.exe中?我怎样才能访问它?如果不是,我的翻译器设置中是否包含一个没有IDE的免费编译器?

请注意,这里我们讨论的是将伪代码字符串转换为可执行的c / c ++代码,输出字符串必须从用户PC编译,这就是项目的内容。

2 个答案:

答案 0 :(得分:0)

.Net框架中没有包含编译器 - 它用于运行编译器生成的二进制文件。

可以免费获得编译器,例如Visual Studio Express免费下载方案。对此有一些许可限制(“没有商业用途”,如果我没记错的话 - 这意味着如果您的一个客户使用您的产品,他们就不能出售他们生成的结果代码[并且仍然在合同范围内]与MS])。不幸的是,这不是“没有IDE”,但是下载的编译器可以在没有IDE的情况下使用,所以如果“没有IDE”只是你希望能够用你的程序运行编译器,那么它将工作。

如果你真的需要一个包含编译器的软件包(在.Net变种中)但没有IDE代码,那么你必须找到一个不同的解决方案 - 对于.Net我不确定是否有一个。 DDK(设备驱动程序工具包)包含本机C和C ++编译器。但据我所知,它不会产生.Net代码[我可能是错的]。

编辑:看起来如果您正在编写自己的代码,可以使用CSharpCodeProvider进行编译 - 但是,这与cl.exe的命令行编译器不同。

答案 1 :(得分:0)

长,短,丑是“不”。唯一一个远程适合作为库包含的C ++编译器是Clang,它是免费的,并且不会太糟糕,你必须编写自己的.NET绑定,并且不要忘记提供自己的链接和stdlib。