<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?action=history&amp;feed=atom&amp;title=Interpreter</id>
		<title>Interpreter - Versionsgeschichte</title>
		<link rel="self" type="application/atom+xml" href="https://ls14-eini.cs.tu-dortmund.de/index.php?action=history&amp;feed=atom&amp;title=Interpreter"/>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Interpreter&amp;action=history"/>
		<updated>2026-05-02T02:32:47Z</updated>
		<subtitle>Versionsgeschichte dieser Seite in EINI</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Interpreter&amp;diff=1668&amp;oldid=prev</id>
		<title>Kristin am 3. August 2016 um 16:46 Uhr</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Interpreter&amp;diff=1668&amp;oldid=prev"/>
				<updated>2016-08-03T16:46:26Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='de'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version vom 3. August 2016, 16:46 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Zeile 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ein '''Interpreter''' ist ein Programm, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;welches &lt;/del&gt;ein anderes Programm ausführen kann. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Dies klingt erstmal sehr redundant, hat jedoch folgenden Hintergrund:&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ein '''Interpreter''' ist ein &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[&lt;/ins&gt;Programm&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]]&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;das &lt;/ins&gt;ein anderes Programm ausführen kann. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Für gewöhnlich wird ein menschenlesbares Programm von einem [[Compiler]] in ein von einer Maschine ausführbares Programm übersetzt. Dies limitiert die Ausführung des Programmes jedoch anschließend auf die Maschine, für die sie übersetzt wurde. Dies versucht man mit einem '''Interpreter''' zu umgehen. Ein '''Interpreter''' kann ein speziell für ihn geschriebenes Programm einlesen und die im Programm enthaltenen Befehle ausführen. Er dient quasi als Schnittstelle zwischen dem Programm und der eigentlichen Maschine. Dies nennt man dann auch ''ein Programm interpretieren''. Nun muss nur noch der Interpreter selbst auf verschiedene Maschinen ausgeliefert werden und alle für diesen Interpreter geschriebene Programme können auf jeder Maschine ausgeführt werden, für die ein passender Interpreter existiert.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;=Vorteile gegenüber Compilern=&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Die Sprache, die &lt;/del&gt;ein &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Interpreter interpretiert, ist meistens direkt die menschenlesbare Quellsprache&lt;/del&gt;. Dies &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;hat &lt;/del&gt;jedoch &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;meistens zur Folge&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;dass ein &lt;/del&gt;Interpreter &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;sehr langsam läuft und unter umständen große Sicherheitslücken aufweist, da ein Programm in der Quellsprache zu interpretieren meist involviert, den gesamten Quelltext und all seine Abhängigkeiten gleichzeitig analysieren zu müssen, als sich auf sehr einfache Maschineninstruktionen verlassen &lt;/del&gt;zu &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;können&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Für gewöhnlich wird &lt;/ins&gt;ein &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;menschenlesbares Programm von einem [[Compiler]] in ein von einer Maschine ausführbares Programm übersetzt&lt;/ins&gt;. Dies &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;begrenzt die Ausführung des Programmes &lt;/ins&gt;jedoch &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ausschließlich auf die Maschine&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;für die sie übersetzt wurde. Mit einem '''&lt;/ins&gt;Interpreter&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''' wird versucht diese Einschränkung &lt;/ins&gt;zu &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;umgehen&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Dieses Problem versuchen sogenannte '''Bytecodeinterpreter''', wie &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;z.B. &lt;/del&gt;die [[JVM]], zu umgehen, indem sie nicht den Code der Quellsprache direkt interpretieren, sondern eine Zwischensprache interpretieren&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, die &lt;/del&gt;wesentlich effizienter und sicherer auszuführen &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ist und zuerst &lt;/del&gt;aus dem Quellcode der Quellsprache generiert werden &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;muss&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Dies reduziert jedoch nicht die portabilität &lt;/del&gt;des &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Programmes&lt;/del&gt;, da &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;man &lt;/del&gt;das &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ein mal &lt;/del&gt;übersetzte Programm &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;immernoch &lt;/del&gt;auf allen Maschinen &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ausführen kann&lt;/del&gt;, auf denen der passende Interpreter installiert ist.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Ein '''Interpreter''' kann ein speziell für ihn geschriebenes Programm einlesen und die im Programm enthaltenen Befehle ausführen. &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Dies nennt man auch ''ein Programm interpretieren''. &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Der '''Interpreter''' dient also als Schnittstelle zwischen dem Programm und der eigentlichen Maschine. Er kann auf Maschinen installiert werden. Alle für diesen '''Interpreter''' geschriebenen Programme können somit auf allen Maschinen ausgeführt werden, die den gleichen Interpreter installiert haben.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;=Bytecodeinterpreter=&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Meistens interpretiert ein '''Interpreter''' direkt die menschenlesbare Quellsprache. Das hat jedoch häufig zur Folge, dass der '''Interpreter''' zum einen sehr langsam läuft und zum anderen große Sicherheitslücken aufweist. Ein Programm in der Quellsprache zu interpretieren heißt nämlich meistens, den gesamten Quelltext und all seine Abhängigkeiten gleichzeitig analysieren zu müssen, anstatt sich auf die einfachen Maschineninstruktionen verlassen zu können.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Dieses Problem versuchen sogenannte '''Bytecodeinterpreter''', wie &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;zum Beispiel &lt;/ins&gt;die [[JVM]], zu umgehen, indem sie nicht den Code der Quellsprache direkt interpretieren, sondern eine &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/ins&gt;Zwischensprache&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''' &lt;/ins&gt;interpretieren&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;. Diese ist &lt;/ins&gt;wesentlich effizienter und sicherer auszuführen&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, muss allerdings erst &lt;/ins&gt;aus dem Quellcode der Quellsprache generiert werden.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Die Vorteile &lt;/ins&gt;des &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'''Interpreters''' bleiben jedoch erhalten&lt;/ins&gt;, da das &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;einmal &lt;/ins&gt;übersetzte Programm &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;immer noch &lt;/ins&gt;auf allen Maschinen &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ausführbar ist&lt;/ins&gt;, auf denen der passende Interpreter installiert ist.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Kristin</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Interpreter&amp;diff=1664&amp;oldid=prev</id>
		<title>Hauer am 28. Juli 2016 um 13:39 Uhr</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Interpreter&amp;diff=1664&amp;oldid=prev"/>
				<updated>2016-07-28T13:39:38Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='de'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version vom 28. Juli 2016, 13:39 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Zeile 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ein '''Interpreter''' ist ein Programm, welches ein anderes Programm ausführen kann. Dies klingt erstmal sehr redundant, hat jedoch folgenden Hintergrund:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ein '''Interpreter''' ist ein Programm, welches ein anderes Programm ausführen kann. Dies klingt erstmal sehr redundant, hat jedoch folgenden Hintergrund:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Für gewöhnlich wird ein menschenlesbares Programm von einem [[Compiler]] in ein von einer Maschine ausführbares Programm übersetzt. Dies limitiert die Ausführung des Programmes jedoch anschließend auf die Maschine, für die sie übersetzt wurde. Dies versucht man mit einem '''Interpreter''' zu umgehen. Ein '''Interpreter''' kann ein für ihn &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;entwickelten Sprache &lt;/del&gt;geschriebenes Programm einlesen und die im Programm enthaltenen Befehle ausführen. Dies nennt man dann auch ''ein Programm interpretieren''. Nun muss nur noch der Interpreter selbst auf verschiedene Maschinen ausgeliefert werden und alle für diesen Interpreter geschriebene Programme können auf jeder Maschine ausgeführt werden, für die ein passender Interpreter existiert.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Für gewöhnlich wird ein menschenlesbares Programm von einem [[Compiler]] in ein von einer Maschine ausführbares Programm übersetzt. Dies limitiert die Ausführung des Programmes jedoch anschließend auf die Maschine, für die sie übersetzt wurde. Dies versucht man mit einem '''Interpreter''' zu umgehen. Ein '''Interpreter''' kann ein &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;speziell &lt;/ins&gt;für ihn geschriebenes Programm einlesen und die im Programm enthaltenen Befehle ausführen&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;. Er dient quasi als Schnittstelle zwischen dem Programm und der eigentlichen Maschine&lt;/ins&gt;. Dies nennt man dann auch ''ein Programm interpretieren''. Nun muss nur noch der Interpreter selbst auf verschiedene Maschinen ausgeliefert werden und alle für diesen Interpreter geschriebene Programme können auf jeder Maschine ausgeführt werden, für die ein passender Interpreter existiert.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Die Sprache, die ein Interpreter interpretiert, ist meistens direkt die menschenlesbare Quellsprache. Dies hat jedoch meistens zur Folge, dass ein Interpreter sehr langsam läuft und unter umständen große Sicherheitslücken aufweist, da ein Programm in der Quellsprache zu interpretieren meist involviert, den gesamten Quelltext und all seine Abhängigkeiten gleichzeitig analysieren zu müssen, als sich auf sehr einfache Maschineninstruktionen verlassen zu können.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Die Sprache, die ein Interpreter interpretiert, ist meistens direkt die menschenlesbare Quellsprache. Dies hat jedoch meistens zur Folge, dass ein Interpreter sehr langsam läuft und unter umständen große Sicherheitslücken aufweist, da ein Programm in der Quellsprache zu interpretieren meist involviert, den gesamten Quelltext und all seine Abhängigkeiten gleichzeitig analysieren zu müssen, als sich auf sehr einfache Maschineninstruktionen verlassen zu können.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Dieses Problem versuchen sogenannte '''Bytecodeinterpreter''', wie z.B. die [[JVM]], zu umgehen, indem sie nicht den Code der Quellsprache direkt interpretieren, sondern eine Zwischensprache interpretieren, die wesentlich effizienter und sicherer auszuführen ist und zuerst aus dem Quellcode der Quellsprache generiert werden muss. Dies reduziert jedoch nicht die portabilität des Programmes, da man das ein mal übersetzte Programm immernoch auf allen Maschinen ausführen kann, auf denen der passende Interpreter installiert ist.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Dieses Problem versuchen sogenannte '''Bytecodeinterpreter''', wie z.B. die [[JVM]], zu umgehen, indem sie nicht den Code der Quellsprache direkt interpretieren, sondern eine Zwischensprache interpretieren, die wesentlich effizienter und sicherer auszuführen ist und zuerst aus dem Quellcode der Quellsprache generiert werden muss. Dies reduziert jedoch nicht die portabilität des Programmes, da man das ein mal übersetzte Programm immernoch auf allen Maschinen ausführen kann, auf denen der passende Interpreter installiert ist.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Hauer</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Interpreter&amp;diff=1663&amp;oldid=prev</id>
		<title>Hauer am 28. Juli 2016 um 13:38 Uhr</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Interpreter&amp;diff=1663&amp;oldid=prev"/>
				<updated>2016-07-28T13:38:35Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='de'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version vom 28. Juli 2016, 13:38 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Zeile 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ein '''Interpreter''' ist ein Programm, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;welcher &lt;/del&gt;ein Programm, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;geschrieben &lt;/del&gt;in einer für ihn entwickelten &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Programmiersprache, einliest &lt;/del&gt;und &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;versucht das &lt;/del&gt;Programm &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;auszuführen&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Dabei liegt das &lt;/del&gt;Programm &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;nicht &lt;/del&gt;in [[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Maschinensprache&lt;/del&gt;]] &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;vor&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;sondern in menschenlesbarer Quelltextform. Somit muss das Programm &lt;/del&gt;nicht &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;vom Entwickler erst compiliert werden&lt;/del&gt;, sondern &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;kann einfach direkt ausgeführt &lt;/del&gt;werden. Dies &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;führt meistens &lt;/del&gt;jedoch &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;zu größeren Nachteilen in der Performanz und Sicherheit &lt;/del&gt;der &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Programmiersprache&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ein '''Interpreter''' ist ein Programm, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;welches &lt;/ins&gt;ein &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;anderes &lt;/ins&gt;Programm &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ausführen kann. Dies klingt erstmal sehr redundant&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;hat jedoch folgenden Hintergrund:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Für gewöhnlich wird ein menschenlesbares Programm von einem [[Compiler]] &lt;/ins&gt;in &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ein von &lt;/ins&gt;einer &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Maschine ausführbares Programm übersetzt. Dies limitiert die Ausführung des Programmes jedoch anschließend auf die Maschine, für die sie übersetzt wurde. Dies versucht man mit einem '''Interpreter''' zu umgehen. Ein '''Interpreter''' kann ein &lt;/ins&gt;für ihn entwickelten &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Sprache geschriebenes Programm einlesen &lt;/ins&gt;und &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;die im &lt;/ins&gt;Programm &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;enthaltenen Befehle ausführen&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Dies nennt man dann auch ''ein Programm interpretieren''. Nun muss nur noch der Interpreter selbst auf verschiedene Maschinen ausgeliefert werden und alle für diesen Interpreter geschriebene Programme können auf jeder Maschine ausgeführt werden, für die ein passender Interpreter existiert.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Die Sprache, die ein Interpreter interpretiert, ist meistens direkt die menschenlesbare Quellsprache. Dies hat jedoch meistens zur Folge, dass ein Interpreter sehr langsam läuft und unter umständen große Sicherheitslücken aufweist, da ein &lt;/ins&gt;Programm in &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;der Quellsprache zu interpretieren meist involviert, den gesamten Quelltext und all seine Abhängigkeiten gleichzeitig analysieren zu müssen, als sich auf sehr einfache Maschineninstruktionen verlassen zu können.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Dieses Problem versuchen sogenannte '''Bytecodeinterpreter''', wie z.B. die &lt;/ins&gt;[[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;JVM&lt;/ins&gt;]], &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;zu umgehen, indem sie &lt;/ins&gt;nicht &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;den Code der Quellsprache direkt interpretieren&lt;/ins&gt;, sondern &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;eine Zwischensprache interpretieren, die wesentlich effizienter und sicherer auszuführen ist und zuerst aus dem Quellcode der Quellsprache generiert &lt;/ins&gt;werden &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;muss&lt;/ins&gt;. Dies &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;reduziert &lt;/ins&gt;jedoch &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;nicht die portabilität des Programmes, da man das ein mal übersetzte Programm immernoch auf allen Maschinen ausführen kann, auf denen &lt;/ins&gt;der &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;passende Interpreter installiert ist&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Hauer</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Interpreter&amp;diff=836&amp;oldid=prev</id>
		<title>Hauer: Die Seite wurde neu angelegt: „Ein '''Interpreter''' ist ein Programm, welcher ein Programm, geschrieben in einer für ihn entwickelten Programmiersprache, einliest und versucht das Programm…“</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Interpreter&amp;diff=836&amp;oldid=prev"/>
				<updated>2016-02-22T15:30:32Z</updated>
		
		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „Ein &amp;#039;&amp;#039;&amp;#039;Interpreter&amp;#039;&amp;#039;&amp;#039; ist ein Programm, welcher ein Programm, geschrieben in einer für ihn entwickelten Programmiersprache, einliest und versucht das Programm…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Ein '''Interpreter''' ist ein Programm, welcher ein Programm, geschrieben in einer für ihn entwickelten Programmiersprache, einliest und versucht das Programm auszuführen. Dabei liegt das Programm nicht in [[Maschinensprache]] vor, sondern in menschenlesbarer Quelltextform. Somit muss das Programm nicht vom Entwickler erst compiliert werden, sondern kann einfach direkt ausgeführt werden. Dies führt meistens jedoch zu größeren Nachteilen in der Performanz und Sicherheit der Programmiersprache.&lt;/div&gt;</summary>
		<author><name>Hauer</name></author>	</entry>

	</feed>