有没有免费的Python到C翻译器?例如能够将像lib这样的lib转换为快速内容感知图像大小调整(已经依赖于某些C lib)到C文件?
我有一个Java项目,需要在LaTeX文档的一部分中列出所有类和代码。导出代码的最佳方法是什么?它仅仅是复制和粘贴,还是有办法正确导出代码以保持所有格式?
我正在寻找一个Matlab到Python的自动代码转换器.我下载并安装了LiberMate,但它没有在任何地方记录,我无法使其工作.
以前有人处理过这种挑战吗?欢迎任何建议.
我想知道转译器和编译器之间的关系。
例如,我有一种语言('让我们称之为 foo'),它将被转换为 javascript。
foo -----transpiled-----> javascript
Run Code Online (Sandbox Code Playgroud)
但是,javascript 下 foo 有限制吗?
如:“没有服务器端脚本的帮助,JavaScript 无法写入服务器上的文件”
foo ----x----> write to files on the server without the help of a server side script
Run Code Online (Sandbox Code Playgroud)
如果是这样,是否可以退出javascript的限制?
例如使 foo 能够写入文件本身。
foo ---------> write to files on the server
Run Code Online (Sandbox Code Playgroud)
注意:我要的是解释和原因等等,而不是代码!
再次注意:它是否可以通过其他库退出限制?
编辑:所以,如果我从另一种语言(如 python)添加另一个库,是否有助于退出限制?
我正在使用一个支持es6模块的javascript构建环境(使用es6-module-transpiler),因此您可以轻松地跨不同文件导入内容。
现在,我有了一个第三方库,我希望它是“可导入的”。
该库按以下方式填充其功能:
(function () {/*...*/}).call(this);
Run Code Online (Sandbox Code Playgroud)
省略闭包并将其转换为:
export default function () {/* ... */};
Run Code Online (Sandbox Code Playgroud)
或者,还有更好的方法?
提前致谢!
我通过这种方式将 MATLAB cart2sph 和 sph2cart 函数翻译为 python。
import numpy as np
def cart2sph(x,y,z):
azimuth = np.arctan2(y,x)
elevation = np.arctan2(z,np.sqrt(x**2 + y**2))
r = np.sqrt(x**2 + y**2 + z**2)
return azimuth, elevation, r
def sph2cart(azimuth,elevation,r):
x = r * np.cos(elevation) * np.cos(azimuth)
y = r * np.cos(elevation) * np.sin(azimuth)
z = r * np.sin(elevation)
return x, y, z
Run Code Online (Sandbox Code Playgroud)
我在 numpy 中没有找到任何可以转换 MATLAB 坐标变化的库,因此我自己编写了它们。numpy 是否有一种在执行时间方面更有效的方法来编写这个函数?
例如,如果我运行
babel src --source-maps --out-dir . --modules common
Run Code Online (Sandbox Code Playgroud)
在我项目的 src 文件夹中,它输出 . 中的所有文件,但每个文件都包含类似的内容
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
var _get = function get(_x, …Run Code Online (Sandbox Code Playgroud) Pythran 是 Python 到 C++ 的编译器,用于包含部分 numpy 支持的 Python 子集。它的作用有点像 Numba 和 Cython——你注释一个函数的参数,然后它接管进一步的类型注释和代码专门化。它利用了矢量化的可能性和基于 OpenMP 的并行化的可能性。
在一些示例中,我展示了如何从 python 内部使用它来优化它,但我想知道是否可以使用它来将 python 代码转换为 C++...
可以这样做吗?如果我想使用的函数依赖于另一个函数怎么办?如果其他函数是从单独的模块导入的怎么办?是否有此类过程的示例/教程?
在有人向我射击之前,我知道Java到二进制编译器,我不会追随其中一个.
我也知道没有完美的工具可以毫无问题地转换所有东西.我知道缺少Java库是一个主要问题; 但是我的源代码不会使用许多Java库,除了像String和print之类的东西.我只想使用该工具来创建Java源引用的类.在字符串的情况下,我很乐意填补空白或在稍后阶段修复.我只是想让工具做无聊的位,所以我不必手动进行翻译.
在需要的类等的情况下,我将在稍后阶段手动修复它们,但是会欣赏指向某些东西的指针,这些指针至少可以完成无聊的东西.
我再次想要翻译源代码而不是编译器来生成二进制文件.基本上我想要一些Java东西并将其转换为C++,以便以后在其他项目中使用.
编辑附加说明
对不起,如果我在这个问题的前面部分不清楚.我知道Java与C++有很大的不同.我有一些Java代码,主要是处理数组和位,几乎没有对象创建.从某种意义上说,它是非常独立的,几乎没有其他类的调用.这些类似乎是转换的主要候选者; 其他的东西将不得不重写,但至少有些部分是杠杆化的.
我正在使用parsec编写源到源的转换,所以我有一个LanguageDeffor my language,我TokenParser使用它构建一个for Text.Parsec.Token.makeTokenParser:
myLanguage = LanguageDef { ...
commentStart = "/*"
, commentEnd = "*/"
...
}
-- defines 'stringLiteral', 'identifier', etc...
TokenParser {..} = makeTokenParser myLanguage
Run Code Online (Sandbox Code Playgroud)
不幸的是,因为我定义了,commentStart并且commentEnd,每个解析器组合器TokenParser都是一个以词语形式实现的词法解析器whiteSpace,并且whiteSpace吃空格和注释.
在这种情况下保留评论的正确方法是什么?
我能想到的方法:
commentStart和commentEnd.将每个lexeme解析器包装在另一个组合器中,该组合器在解析每个标记之前抓取注释.makeTokenParser(或者使用一些概括的库Text.Parsec.Token;如果是,哪个库?)在这种情况下做了什么?