标签: code-translation

如何轻松地将FORTRAN代码转换为Python代码(真正的代码,而不是包装器)

我在FORTRAN中有一个数值库(我相信FORTRAN IV),我想将它转换为Python代码.我想要真正的源代码,我可以在任何Python虚拟机上导入--- Windows,MacOS-X,Linux,Android.我手动开始这样做,但是库中有大约1000个例程,所以这不是一个合理的解决方案.

python fortran code-translation

14
推荐指数
1
解决办法
2万
查看次数

将命令转换为功能代码

我需要编写一个程序,将命令式代码转换为纯函数式.我并不担心I/O--我有一些解决方案 - 但我确实需要处理堆对象和局部变量.

我想这可以通过传递一个TheWorld带有每个函数调用的对象并返回,然后从那里进行优化,尝试从不使用它的函数中删除该参数等来完成.但是有没有一种已知的更好的方法呢?

compiler-construction functional-programming code-translation

13
推荐指数
2
解决办法
1881
查看次数

将Python代码转换为PHP

有没有可以自动将这个python代码转换为PHP的软件转换器?

#!/usr/bin/python
import math

def calcNumEntropyBits(s):
        if len(s) <= 0: return 0.0
        symCount = {}
        for c in s:
                if c not in symCount: symCount[c] = 1
                else: symCount[c] += 1
        entropy = 0.0
        for c,n in symCount.iteritems():
                prob = n / float(len(s))
                entropy += prob * (math.log(prob)/math.log(2))
        if entropy >= 0.0: return 0.0
        else: return -(entropy*len(s))

def testEntropy(s):
        print "Bits of entropy in '%s' is %.2f" % (s, calcNumEntropyBits(s))

testEntropy('hello world')
testEntropy('bubba dubba')
testEntropy('aaaaaaaaaaa')
testEntropy('aaaaabaaaaa')
testEntropy('abcdefghijk')
Run Code Online (Sandbox Code Playgroud)

php python code-translation transpiler

12
推荐指数
3
解决办法
2万
查看次数

编写从Python到C的代码转换器?

我被要求编写一个代码转换器,它将采用Python程序并生成一个C程序.你有什么想法我怎么能解决这个问题,甚至可能?

c python code-translation

10
推荐指数
3
解决办法
7815
查看次数

我该如何开始编写转换器?它甚至可能吗?

由于机密性原因,我可能无法在引脚点详细信息中进行描述,但这是方案.

具有流媒体应用程序的各种设备具有不同的api语言,尽管它们完成了同样的事情.因此,当您想为一个平台编写流媒体应用程序时,您必须从头开始,同时为其他平台复制相同的应用程序,即编写冗余逻辑.我想设计一个转换器,它使用一种语言编写代码,并为所有本地语言生成代码,类型为1对多,但不确定如何启动,并且无法在Internet上找到足够的引用.这样做甚至可行吗?目标语言包括javascript的变体,主要是java.

compiler-construction code-translation

10
推荐指数
2
解决办法
1万
查看次数

将算法C转换为Python

我想将一些C代码翻译成Python代码或字节码.有问题的C代码就是我所说的纯算法:独立于平台,没有I/O,只有算法和内存数据结构.

一个例子是正则表达式库.翻译工具将处理库源代码并生成功能相当的Python模块,该模块可以在沙盒环境中运行.

您可以推荐哪些具体的方法,工具和技术?


注意:Python C扩展或ctypes 不是一个选项,因为环境是沙箱.

另一个注意事项:看起来有一个C-to-Java-bytecode编译器,他们甚至将libjpeg编译为Java.Java字节码+ VM与CPython字节码+ VM有太大不同吗?

c python java sandbox code-translation

9
推荐指数
2
解决办法
4171
查看次数

将转换器编写到实际映射发生的位置

我想了解一个转换器是如何工作的.最好这样做是写一个课程.

从理论上讲,我一直在研究一些资源,以了解其工作原理.我理解以下内容:

从我的理解,我基本上需要写两个类:

  1. 词法分析器
  2. 解析器

词法分析器

Lexical Analyzer文件的源代码作为输入(输入流).例如,以下代码:

if (someVar == 20) {
    MessageBox("Hello World!");
}
Run Code Online (Sandbox Code Playgroud)

然后Lexical Analyzer从中创建数据块:

[if]
[ ]
[(]
[someVar]
[ ]
[==]
[ ]
[20]
[)]
[ ]
[{]
[\n]
[\t]
[MessageBox]
[(]
["]
[Hello World!]
["]
[)]
[;]
[\n]
[\t]
[}]
Run Code Online (Sandbox Code Playgroud)

然后将其发送给Parser班级.

解析器

然后,Parser类将读取所有标记块(?)并指定每个标记(?)的含义.它将为其指定某种类型.因此,上述字符串的结果将被标识为:

[if]      // Keyword
[ ]       // Whitespace
[(]       // L_Parenthesis
[someVar] // Identifier
[ ]       // Whitespace
[==]      // Operator
[ ]       // …
Run Code Online (Sandbox Code Playgroud)

compiler-construction lexical-analysis code-translation

9
推荐指数
1
解决办法
2345
查看次数

签署F#程序集(强名称组件)

我在CodeProject上发现了这篇文章:http: //www.codeproject.com/Articles/512956/NET-Shell-Extensions-Shell-Context-Menus

并且认为尝试一下会很好,但在F#中.所以我想出了以下代码:

open System
open System.IO
open System.Text
open System.Runtime.InteropServices
open System.Windows.Forms
open SharpShell
open SharpShell.Attributes
open SharpShell.SharpContextMenu

[<ComVisible(true)>]
[<COMServerAssociation(AssociationType.ClassOfExtension, ".txt")>]
type CountLinesExtension() =
    inherit SharpContextMenu.SharpContextMenu()

    let countLines =
        let builder = new StringBuilder()
        do 
            base.SelectedItemPaths |> Seq.iter (fun x -> builder.AppendLine(sprintf "%s - %d Lines" (Path.GetFileName(x)) (File.ReadAllLines(x).Length)) |> ignore  )
            MessageBox.Show(builder.ToString()) |> ignore

    let createMenu =
        let menu = new ContextMenuStrip()
        let itemCountLines = new ToolStripMenuItem(Text = "Count Lines")
        do
            itemCountLines.Click.Add (fun _ -> countLines)
            menu.Items.Add(itemCountLines) …
Run Code Online (Sandbox Code Playgroud)

com f# strongname shell-extensions code-translation

9
推荐指数
1
解决办法
1272
查看次数

从C代码构建AST

如何从gcc C代码构建AST(抽象语法树)以进行一些修改,比如将一些int变量转换为float,然后再将代码重新生成(生成)到C语法.

实际上,目前,我真正需要的唯一功能是从包含几行的ac程序中提取变量及其类型的表...我认为有一个简单的解析器就是这样做的.

我有一些变量,如:

int  var_bss ;           
float var_f_bss;            
int var_data = 4;        
float var_f_data = 5;  
Run Code Online (Sandbox Code Playgroud)

功能:

int Foo(){          
   some local variables;            
}    
Run Code Online (Sandbox Code Playgroud)

代码位于单个c文件中.

我想向最终用户介绍所有变量,让他选择特定内存段中的源类型,例如.data中的int变量.然后用户可以将这些变量转换为浮点数.最后,我为用户生成相同的代码,但使用他选择的新变量类型.

c gcc abstract-syntax-tree code-translation

9
推荐指数
2
解决办法
6156
查看次数

用于生成新编程语言语法的神经网络

最近,我有必要创建ANTLR语言语法,以实现编译器的目的(将一种脚本语言转换为另一种脚本语言)。在我看来,Google翻译在翻译自然语言方面做得很好。我们拥有各种各样的递归神经网络模型,LSTM和GPT-2,它们会生成语法正确的文本。

问题:是否有足够的模型来训练语法/代码示例组合,以便在给定任意示例源代码的情况下输出新的语法文件?

grammar machine-learning code-translation language-recognition transpiler

8
推荐指数
1
解决办法
224
查看次数