2 Stimmen

Sprachübersetzer: Alles zur Montage

Ich bin nur neugierig, ob es irgendeine Art von Programm/Anwendung gibt, die es ermöglicht, Code in einer Sprache einzugeben und diesen in eine andere Sprache wie z. B. asm zu übersetzen. Dies scheint perfekt möglich....so gibt es so etwas?

13voto

Oddthinking Punkte 22694

Ja, man nennt sie Compiler.

Compiler sind nur ein Beispiel für eine Klasse von Programmen, die Sprachübersetzer genannt werden.

Compiler konvertieren höhere Sprachen wie C++ und Java in niedrigere Sprachen, einschließlich Bytecode für virtuelle Maschinen, Assembler, C oder direkt in maschinenlauffähigen Objektcode.

4voto

Emil H Punkte 38928

Im Grunde tut dies jeder Compiler, da Assembler nur eine andere Form von Maschinencode ist. Ich glaube, dass GCC dies explizit tut, und dass Sie ihn bitten können, Ihnen den Zwischen-Assembler zu zeigen. Werfen Sie zum Beispiel einen Blick auf die GNU-Assembler .

1voto

Stefan Kendall Punkte 63658

Problematisch wird es, wenn man sagt, dass etwas "durchaus möglich" ist. Eine Eigenschaft einer Sprache lässt sich oft nicht direkt oder einfach in eine andere übersetzen; deshalb wählen wir ja überhaupt eine Sprache für eine Aufgabe! Zum Beispiel ist die Umwandlung einer Fibonacci-Zahl von Java nach C trivial, aber nach Haskell? Sicherlich ist es noch machbar, aber versuchen Sie einmal, ein Programm zu konvertieren, das Posix-Threads öffnet und auf mehreren Ports auf verschiedene Teile des Netzwerkverkehrs wartet.

Fast jedes Stück nützlichen Codes stützt sich weitgehend auf externe Bibliotheken, von denen viele pas offene Quelle. Abgesehen davon, was denken Sie, sollte das Folgende in C übersetzt werden? Oder sogar in Java?

def method( f ):
    G = {'a':1}
    f(G)

def f( x ):
    print( [ (key, value) for (key,value) in x.items() ] )

method(f)

Diese Aufgabe ist von Natur aus komplizierter, als es den Anschein hat, außer im trivialsten Fall (C-Sprache zu C-Sprache). Der Wechsel zwischen statisch und dynamisch typisierten Sprachen wird schwierig sein, ebenso wie alle sprachspezifischen Aspekte.

1voto

Robby Slaughter Punkte 1400

Das könnte Sie interessieren Haxe, siehe http://haxe.org/ .

0voto

mcintyre321 Punkte 12488

Hier ist ein Programm zur Konvertierung von .NET-Code in Java, PHP, JavaScript und ActionScript http://jsc.sourceforge.net/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X