有谁知道一个好的Java到C交叉编译器?
他们运作得好吗?
这不是以下问题的重复,这些问题涉及浏览器特定问题.我期待一个答案是否
import / export能在客户端工作.
//lib.js
export const sqrt = Math.sqrt;
export function square(x) {
return x * x;
}
export function diag(x, y) {
return sqrt(square(x) + square(y));
}
//main.js
"use strict";
import { square, diag } from 'lib';
console.log(square(11)); // 121
console.log(diag(4, 3)); // 5Run Code Online (Sandbox Code Playgroud)
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Import Check</title>
</head>
<body>
<script type="text/javascript" src="main.js"></script>
</body>
</html>Run Code Online (Sandbox Code Playgroud)
经测试的浏览器:谷歌Chrome版本47.0.2526.106
BabelJS)并且编译了代码.请问import/ export文件代码片段将客户端或服务器端的工作(在节点服务器作为需要方法)?是否有一种语言可以转化为JavaScript(如TypeScript,CoffeScript等)并且几乎是纯粹的功能(如Haskell,Erlang,F#)?
我知道有些库有助于维护不变性(Underscore),ES6中有很多很酷的数组函数和lambdas.但我正在寻找的是一个功能类似的语法和转换器,所以我可以用很少的努力编写功能JavaScript.
想在ES6 javascript中实例化一个模块并转换为ES5.我在我的项目中设置了一个新类,即es6/webpack.我有2个文件:track.js,其中包含以下内容 -
export default class Track {
constructor() {
this.o = {};
}
}
Run Code Online (Sandbox Code Playgroud)
另一个是index.js -
import { Track } from './track';
const track = new Track();
console.log(track);
Run Code Online (Sandbox Code Playgroud)
我试图让控制台日志显示一个空对象.相反,我得到 - Uncaught TypeError:_track.Track不是构造函数
我正在electron.js使用React。我正在使用JSX,因此需要使用它Babel进行转换。许多教程都建议使用Webpack。
目前,我正在使用Webpack 4。这是我的webpack.config.js
const path = require('path')
module.exports = {
entry: "./src/renderer.js",
output: {
path: path.resolve(__dirname, "dist"),
filename: "renderer.js"
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader'
}
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
和我的 .babelrc
{
"presets": ["es2015", "stage-0", "react"]
}
Run Code Online (Sandbox Code Playgroud)
我需要从这里开始,renderer.js因为它包含了我的大部分代码和React组件,结果是一个捆绑的js文件。
但是我要做的就是将我的所有jsx文件转换为普通js文件,就像将所有JSX文件src根据文件dist夹中的JS文件转换到其中一样,如果有的话,在编辑文件时监视并转换。如何实现呢?
很久以前,我为Commodore Amiga制作了一些游戏.全部在68000汇编完成(所以我仍有源)
我想将这些游戏移植到现代平台,而不是托管模拟器,我想到将Assembly转换为C,并添加SDL层.
关于如何处理68000 - > C转换部分的任何想法?(不是手动而是自动.如在转换器中)
我只想创建一堆与寄存器名称相似的变量,然后像这样转换:
MOVE.l #23, d7
Run Code Online (Sandbox Code Playgroud)
成
MOVEL(23, d7);
Run Code Online (Sandbox Code Playgroud)
我唯一不确定它是如何工作的是分支和子程序.我想我可以使用一个非常大的switch语句,并且有任何标签我可能会跳到case case语句.
有什么想法吗?我可以从任何现有技术中汲取灵感吗?
Qiskit 中有该transpile()功能(请参阅文档)。我对转译器的最好理解是一种将一组门操作转换为另一组门操作的方法,其目的是在不同的后端运行算法(因为量子位连接性,即架构的几何形状,从一台量子计算机到另一台)。有多种方法可以通过减少冗余和根据等效门重写事物来优化电路,例如将哈达玛门共轭的 CNOT 更改为 CZ 以减少门数。如果硬件后端没有本机 CZ,人们可能还想做完全相反的事情,从 CZ 转到由 Hadamards 共轭的 CNOT。一般来说,这种为了优化某些固定硬件后端的任意电路而进行的转译是一个 QMA 完全问题(例如,参见此处......也许有人使用LEAN来完成类似的事情?)。有时也使用变分方法来近似最佳电路,但我离题了。
一个略有不同但相关的问题:使用Nielsen & Chuang附录 3 中的 Kitaev-Solovay 定理以及 4.5 中的材料,我们知道我们总是可以“有效地”用通用门集逼近任意酉门(这在书,在这里不一定重要)。我认为效率如何是一个悬而未决的问题,但至少有一些上限和下限。
鉴于此,人们期望 Qiskittranspile()函数能够近似单一门并将门集重构为最佳(最小化)门集以优化电路,但可能会在具有许多非标准门的大型电路中出现问题。但是,即使对于简单的示例,我也无法使其正常工作。例如,三个量子位上的置换矩阵似乎是一个合理的酉近似(有些甚至可以轻松地手动转换为交换门和 X 门)。但 Qiskit 似乎不喜欢这样做,我需要一些帮助来理解原因。举个例子,我们可以在 Qiskit 中定义一个酉(置换)算子,并将其变成量子电路中的门,如下所示:
from qiskit import *
from qiskit.quantum_info import Operator
from qiskit.compiler import transpile
%matplotlib inline
permute = Operator([[0, 0, 1, 0, 0, 0, 0, 0],
[1, 0, 0, 0, 0, 0, 0, 0],
[0, 1, 0, 0, 0, 0, …Run Code Online (Sandbox Code Playgroud) 我正在尝试转译一个使用 ES6 语法和 TypeScript 的项目。我有一个这样的目录结构:
??? .babelrc
??? src
??? index.ts
??? pitching
??? pitching.test.ts
??? pitching.ts
Run Code Online (Sandbox Code Playgroud)
我想将所有内容编译src并输出到dist/. 我尝试了以下命令的许多变体(在 中的"build"脚本中指定package.json):
babel ./src -d ./dist
Run Code Online (Sandbox Code Playgroud)
但我总是得到以下输出:
$ babel ./src -d ./dist
Successfully compiled 0 files with Babel (13ms).
Done in 0.32s
Run Code Online (Sandbox Code Playgroud)
结果是dist/我的项目根目录中有一个空目录。我尝试编译为单个文件而不是目录,这确实创建了一个编译文件,但是代码中引用的所有模块路径都被搞乱了,因为它们是相对于src目录的。我之所以提到这一点,是因为对我来说这表明我的 babel 设置是正确的,尽管我也可能错了。
我的问题是,为什么我的文件没有被转译,或者我该如何排除故障?该命令没有给我任何有用的输出,甚至当我加入{"debug": true}到我的预设.babelrc。
作为参考,这里是我使用的 babel 包和版本:
"devDependencies": {
"@babel/cli": "^7.10.3",
"@babel/core": "^7.10.3",
"@babel/preset-env": "^7.10.3",
"@babel/preset-typescript": "^7.10.1",
"@types/jest": "^26.0.3",
"jest": "^26.1.0"
}
Run Code Online (Sandbox Code Playgroud)
这是我的 …