对于asm模拟器,我正在尝试编写将ASM代码转换为等效的工作代码正常工作..最好的代码可以是一行或两三最多,不关心速度.
从我的理解.如果用C++完成MOVZX将与MOV相同.
MOV 转换.
MOV ESI,DWORD PTR [ESP+8]
Run Code Online (Sandbox Code Playgroud)
会是这样的
regs.d.esi = *(unsigned int *)(regs.d.esp+0x00000008);
Run Code Online (Sandbox Code Playgroud)
MOVZX 转换.
MOVZX EAX,BYTE PTR DS:[EDI]
Run Code Online (Sandbox Code Playgroud)
会是这样的
regs.d.eax = *(unsigned char *)(regs.d.edi);
Run Code Online (Sandbox Code Playgroud)
几乎一样的事情都没有改变.
现在MOVSX我无法转换为简单的C代码..似乎与上面的两个相同..除了它试图在尽可能多的移动前添加尽可能多的完全设置位...
000000C7 变 FFFFFFC7
首先我要说的是,我不是在寻找自动化解决方案.我想将代码从Python翻译成Smalltalk,因为我注意到一些非常简单的句子可以自动翻译,例如:
将变量分配给值
蟒蛇
i = 1
Run Code Online (Sandbox Code Playgroud)
短暂聊天
i := 1.
Run Code Online (Sandbox Code Playgroud)
创建类的新实例
蟒蛇
instance = module.ClassName()
Run Code Online (Sandbox Code Playgroud)
短暂聊天
instance := ClassName new.
Run Code Online (Sandbox Code Playgroud)
一个for循环
蟒蛇
for a in [0,1,2]:
print (str(a)+str(a))
Run Code Online (Sandbox Code Playgroud)
短暂聊天
#(0 1 2) do: [: a | Transcript show: a + a; cr ]
Run Code Online (Sandbox Code Playgroud)
等等(循环,条件等).我的想法是有一个工具可以翻译所有这些非常"简单"的案例,然后我可以手工完成或教授规则系统.
你知道任何可以帮助我的编程翻译工具或库吗?
如果您还没有听说过任何工具,您将使用哪种技术/模式来实现此类翻译?你能提供一个例子的链接吗?
谢谢
我发现这篇文章关于将英语句子转换为Scheme,但似乎没有找到任何反向的工作(即Scheme to english sentence):ftp: //ftp.cs.utexas.edu/.snapshot/hourly.2 /pub/AI-Lab/tech-reports/UT-AI-TR-87-48.pdf 另外,我认为文章中没有提到如何获得所提到的代码.
有谁知道这样的项目,或者我将不得不尝试自己推动?
我也对Java/Groovy和/或Ruby这样的翻译感兴趣.
基本上,我想使用一个程序,给定一串代码,用英语句子输出算法.
编辑:实际上,上面提到的文章的底部确实有相应的代码.
我正在尝试构建一个可以使用Antlr 4和StringTemplate 4将PL/SQL代码转换为Java的转换器.我有PL/SQl的语法,并且已经为PL/SQL构建了一个解析器,但我不知道如何处理问题进一步.我发现了很多使用antlr和stringtemplate的语言翻译文章,但他们都使用ANTLR 3或ANTLR 2.因此使用Antlr 4与Stringtemplate一起翻译时有什么不同,因为使用Antlr 4的PL/SQL解析器与Antlr3有一些区别
我是编程语言翻译的新手,不知道是否有更好的方法来解决问题.
有没有办法使用Node在内存中转换TypeScript?我希望能够在内存中获得生成的JavaScript.
下面的代码让我通过gulp这个错误转发它:
[tsc]> C:/Workarea/MyFirstAngular/src/enum/msg.ts(35,33):错误TS2349:无法调用类型缺少调用签名的表达式.无法编译TypeScript:错误:tsc命令已退出,代码为:2
module MessageUtil {
enum Morning {
"Good Morning",
"Great to see you!",
"Good day.",
"Lovely day today, isn't it?",
"What's up?",
"Nice to meet you",
}
}
export class MessageData {
private getRandomElementOfEnum(e : any):string{
var length:number = Object.keys(e).length(); //<-- This is Line 35
return e[Math.floor((Math.random() * length)+1)];
}
public getRandMorning():string {
return this.getRandomElementOfEnum(Morning);
}
}
}
Run Code Online (Sandbox Code Playgroud)
有谁知道我的确切错误是什么?
我的设置:-IDEA 14 -Node.js -Gulp -gulp-tsc -gulp-connect(用于Livereload)
刚刚遇到一个.do我需要翻译的文件,R因为我没有Stata许可证; 我的Stata生锈了,那么有人可以确认代码是在做我认为的吗?
为了重现性,我将把它翻译成我在网上找到的数据集,特别是奶制品数据集(p004),它是Chatterjee,Hadi和Price的教科书的一部分.
这是Stata代码:
collapse (min) min_protein = protein ///
(mean) avg_protein = protein ///
(median) median_protein = protein ///
(sd) sd_protein = protein ///
if protein > 2.8, by(lactatio)
Run Code Online (Sandbox Code Playgroud)
以下是我认为它在data.table语法中的作用:
library(data.table)
library(foreign)
DT = read.dta("p004.dta")
setDT(DT)
DT[protein > 2.8,
.(min_protein = min(protein),
avg_protein = mean(protein),
median_protein = median(protein),
sd_protein = sd(protein)),
keyby = lactatio]
# lactatio min_protein avg_protein median_protein sd_protein
# 1: 1 2.9 3.162632 3.10 0.2180803
# 2: 2 2.9 …Run Code Online (Sandbox Code Playgroud) 我有一个Java项目,需要在LaTeX文档的一部分中列出所有类和代码。导出代码的最佳方法是什么?它仅仅是复制和粘贴,还是有办法正确导出代码以保持所有格式?
我想知道转译器和编译器之间的关系。
例如,我有一种语言('让我们称之为 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)添加另一个库,是否有助于退出限制?
例如,如果我运行
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) code-translation ×10
javascript ×3
java ×2
typescript ×2
antlr4 ×1
assembly ×1
babeljs ×1
build ×1
c ×1
data.table ×1
eclipse ×1
latex ×1
node.js ×1
python ×1
r ×1
ruby ×1
scheme ×1
smalltalk ×1
stata ×1
x86 ×1