Assembler gegen Compiler
Im Allgemeinen ist Compiler ein Computerprogramm, das ein in einer Sprache geschriebenes Programm liest, das als Quellsprache bezeichnet wird und es in eine andere Sprache übersetzt, die als Zielsprache bezeichnet wird. Traditionell war Quellsprache eine Sprache auf hoher Ebene wie C ++ und Zielsprache war eine Sprache auf niedriger Ebene wie die Versammlungssprache. Es gibt jedoch Compiler, die ein Quellprogramm in der Montagesprache umwandeln und in den Maschinencode oder den Objektcode umwandeln können. Abbauler sind solche Werkzeuge. So werden sowohl Assembler als auch Compiler letztendlich Code produzieren, der direkt auf einer Maschine ausgeführt werden kann.
Was ist ein Compiler?
Compiler ist ein Computerprogramm, das ein in einer Sprache geschriebenes Programm liest, das als Quellsprache bezeichnet wird und es in eine andere Sprache übersetzt, die als Zielsprache bezeichnet wird. Meistens ist die Quellsprache eine Sprache auf hoher Ebene und die Zielsprache ist eine Sprache auf niedriger Ebene. Im Allgemeinen können Compiler als Übersetzer angesehen werden, die von einer Sprache in eine andere übersetzt werden. Darüber hinaus führen Compiler einige Optimierungen für den Code durch. Ein typischer Compiler besteht aus mehreren Hauptkomponenten. Die erste Komponente ist der Scanner (auch als lexikalischer Analysator bezeichnet). Der Scanner liest das Programm und wandelt es in eine Reihe von Token um. Die zweite Komponente ist der Parser. Es wandelt die Tokenkette in einen Parsebaum (oder einen abstrakten Syntaxbaum) um, der die syntaktische Struktur des Programms erfasst. Die nächste Komponente sind die semantischen Routinen, die die Semantik der syntaktischen Struktur interpretieren. Die Code -Optimierungen und die endgültige Codegenerierung folgen diesem.
Was ist ein Assembler?
Assembler ist eine Software oder ein Tool, das die Montagesprache in den Maschinencode übersetzt. Ein Assembler ist also ein Typ eines Compilers und der Quellcode ist in der Montagesprache geschrieben. Die Versammlung ist eine menschliche lesbare Sprache, hat aber normalerweise eine eins -zu -Eins -Beziehung zum entsprechenden Maschinencode. Daher soll ein Assembler eine isomorphe (eins -zu -Ein -Mapping -Übersetzung) durchführen. Fortgeschrittene Abgeordnete bieten zusätzliche Funktionen, die Programmentwicklung und Debugging -Prozesse unterstützen. Beispielsweise bietet die Art der Assembler, die als Makro -Assembler bezeichnet werden, eine Makroanlage.
Was ist der Unterschied zwischen einem Assembler und einem Compiler?
Compiler ist ein Computerprogramm, das ein in einer Sprache geschriebenes Programm liest und es in eine andere Sprache übersetzt. Compiler erstellen normalerweise den ausführbaren Code des Maschinenausführungscodes direkt aus einer hochstufigen Sprache, aber Montageer erstellen einen Objektcode, der möglicherweise mithilfe von Linker -Programmen verknüpft werden muss, um auf einem Computer auszuführen. Da die Assemblersprache eine eins -zu -Eins -Zuordnung mit Maschinencode hat, kann ein Assembler zum Erstellen von Code verwendet werden, der für Anlässe, in denen die Leistung sehr wichtig ist, sehr effizient ausgeführt wird (für e.G. Grafikmotoren, eingebettete Systeme mit begrenzten Hardware -Ressourcen im Vergleich zu einem Personalcomputer wie Mikrowellen, Waschmaschinen usw.).