Anhang

Glossar

JDK
SDK
JVM
JRE
GUI
CUP
JLex
MSIE
Generator
Arbeitsumgebung
Makro
Dokument
Erweiterung
Übersetzer
Inhalt
Lerneinheit
Verlinkung

Quellennachweise

Produkte

J-Builder V3.5
  • Eingetragenes Warenzeichen von Borland Inprise Corporation
  • http://www.borland.de/
HomeSite V4.5
  • Eingetragenes Warenzeichen von Allaire Corporation
  • http://www.allaire.com/
JLex
  • Entwickelt von Elliot Berk, Princeton University
  • Weiterentwickelt von C. Scott Ananian
  • http://www.cs.princeton.edu/~appel/modern/java/JLex/
CUP
  • Entwickelt von Scott Hudson, 1995
  • Weiterentwickelt von Frank Flannery, 1996
  • Weiterentwickelt von C. Scott Ananian
  • http://www.cs.princeton.edu/~appel/modern/java/CUP/
Java
  • Eingetragenes Warenzeichen von Sun Microsystems, Inc.
  • http://www.javasoft.com/
JavaScript
  • Eingetragenes Warenzeichen von Sun Microsystems, Inc.
  • http://www.sun.com/
Microsoft Internet Explorer
  • Eingetragenes Warenzeichen von Microsoft Corporation
  • http://www.microsoft.com
Netscape® Navigator
  • Eingetragenes Warenzeichen von Netscape Communications Corporation
  • http://www.netscape.com

Firmen

Netscape®
  • Eingetragenes Warenzeichen von Netscape Communications Corporation
  • http://www.netscape.com
Microsoft
  • Eingetragenes Warenzeichen von Microsoft Corporation
  • http://www.microsoft.com
Borland
  • Eingetragenes Warenzeichen von Borland Inprise Corporation
  • http://www.borland.de/

Litteratur

Seehusen
  • Prof. Dr. Silke Seehusen
  • Programmierrichtlinien für Java
  • Fachhochschule Lübeck, 1997
  • http://www.informatik.fh-luebeck.de/ti/Seehusen/Local/Programm
Dai
  • Prof. Dr. -Ing. Kechang Dai
  • Compilerbau
  • Fachhochschule Lübeck, 1999
Krueger
  • Guido Krueger
  • Java 1.1 lernen
  • Online-Version
  • Addison-Wesley, Bonn, 1997
  • http://medoc.informatik.tu-muenchen.de/Java/krueger/index.html
Harold
  • Elliotte Rusty Harold
  • Java FAQ list and Tutorial
  • Online-Version, 1995
  • http://www.informatik.fh-luebeck.de/~java/javafaq.html
Münz
  • Stefan Münz
  • Selfhtml 7.0
  • Online-Version, 1998
  • http://www.teamone.de/selfaktuell/
Ananian
  • Prof. C. Scott Ananian
  • Modern Compiler Implementation in Java
  • Online-Version, 1998
  • Http://www.cs.princeton.edu/~appel
Aho
  • Alfred V. Aho, Raui Sethi, Jeffrey D. Ullman
  • Compiler Bau
  • Addison-Wesley GmbH, 1988
  • ISBN 3-89319-150-X

Beispiele

Um eine bessere Vorstellung von der Vereinfachung, die der Einsatz des Generators bewirkt, zu bekommen, habe ich hier einige Seiten vor und nach der Übersetzung aufgeführt. Die Zunahme an Übersichtlichkeit ist nicht zu übersehen.

Seite aus den Beispielen:

Es folgt die Seite flash.html , welche eine Flash-Animation enthält. Den Bereich, der die Flash-Animation einbindet, habe ich zum besseren Vergleich fett hervorgehoben. In diesem Beispiel wird gleich ein Alternativbild mit angegeben, welches angezeigt wird, wenn der Browser kein Flash-Pluin hat.

Vorher (So wurde die Seite erstellt):

 
<html>
 
<head>
 
<meta name="next"         content="realplayer.html">
 
<meta name="description"  content="finden sich auf dieser Seite.">
 
<title>Flash</title>
 
</head>
 
<body>
 
<p align="center">
 
<H1>Flash</H1>
 
</p>
 
<p>
 
<img src="../images/pakete.gif" swfsrc="../images/pakete.swf" width=200 height=200>
 
</p>
 
</body>
 
</html>

Nachher (Das macht der Generator daraus):

 
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
 
<html>
 
<head profile="../../profil.rdf">
 
        <meta name="author"       content="">
 
        <meta name="description"  content="">
 
        <meta name="keywords"     content="">
 
        <link rel="stylesheet"   href="../../htm/style.css" type="text/css">
 
        <script language="JavaScript" type="text/javascript"><!--
 
                window.onerror = handle_error; function handle_error(){return true;}
 
                if( !top.UTILITY || !top.UTILITY.UTILITY )
 
                        document.writeln( "<script language='JavaScript' src='../../scripts/utilities.js' type='text/javascript'></script>" );
 
                else
 
                        top.UTILITY.Stylesheet(self);//-->
 
        </script>
 
        <title>Flash</title>
 
</head>
 
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" style="background:url(../../images/5_bg.gif); background-repeat:no-repeat; background-color:#FFFFFF;">
 
	<table cellspacing="0" cellpadding="0" border="0">
 
	<tr valign="top" align="left">
 
	<td width="180">
 
<!-- Links -->
 
	<img src="../../images/empty.gif" alt="" width="180" height="1" border="0">
 
	</td>
 
	<td>
 
	<table cellspacing="0" cellpadding="0" border="0">
 
	<tr valign="top" align="left">
 
	<td width="500">
 
<!-- Mitte -->
 
<p>
 
<H1>Flash</H1>
 
</p>
 
	</td>
 
	<td width="100">
 
<!-- Rechts -->
 
	<script language="JavaScript"><!--
 
		top.UTILITY.ShowNotiz( self ); // -->
 
	</script>
 
	</td>
 
	</tr>
 
	<tr valign="top" align="left">
 
	<td width="500">
 
<p>
 
<script language="JavaScript">
 
	if( top.flash ){
 
		document.write( "<embed src='images/pakete.swf' width='200' height='200' loop='false' autostart='true' quality='high' type='application/x-shockwave-flash'></embed>" );
 
	}
 
	else{
 
		document.write( "<img src='images/pakete.gif' width='200' height='200' alt='' border='0'>" );
 
		document.write( "<p>Es wird ein <a href=\"javascript:top.NaviBar.OpenWindow( self, 'http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash', 'Flash', '480', '420', 'scrollbars=yes' )\">Flash Plugin</a> benötigt um diese Seite vollständig anzuzeigen!</p>" );
 
	}
 
</script>
 
</p>
 
	</td>
 
	<td width="100">
 
<!-- Rechts -->
 
	<script language="JavaScript"><!--
 
		top.UTILITY.ShowNotiz(); // -->
 
	</script>
 
	</td>
 
	</tr>
 
	</table>
 
	</tr>
 
	</table>
 
<p>
 
 	<table cellspacing="0" cellpadding="0" border="0">
 
	<tr valign="top" align="left">
 
	<td width="180">
 
<!-- Links -->
 
	<img src="../../images/empty.gif" alt="" width="180" height="1" border="0">
 
	</td>
 
	<td>
 
	<table cellspacing="0" cellpadding="0" border="0">
 
	<tr valign="top" align="left">
 
	<td width="500">
 
<!-- Mitte -->
 
<p>
 
 <br>Hier kommen Sie <a class="button" href="javascript:top.NaviBar.SeiteWeiter();" onmouseover="status='Weiter'; return true;" onmouseout="status=''; return true;" onClick="">&nbsp;Weiter </a>&nbsp;	</td>
 
	<td width="100">
 
<!-- Rechts -->
 
	<script language="JavaScript"><!--
 
		top.UTILITY.ShowNotiz(); // -->
 
	</script>
 
	</td>
 
	</tr>
 
	</table>
 
	</tr>
 
	</table>
 
<p>
 
</body>
 
	<!-- Ermoeglicht das Drucken unter IExplorer -->
 
	<SCRIPT LANGUAGE="VBScript">
 
	<!--
 
		sub print
 
		on error resume next
 
		WB.ExecWB 6, 1
 
		end sub
 
	//-->
 
	</SCRIPT>
 
	<OBJECT ID="WB"
 
		WIDTH=0 HEIGHT=0
 
		CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">
 
	</OBJECT>
 
</html>

Seite aus der Lerneinheit Brandels Barkunde":

Der abgedruckte Code ist ein Auszug aus der Seite fundament_1.html . Der vollständige Code befindet sich auf der beiligenden CD.

Vorher:

 
<html>
 
<head>
 
	<meta name="next"         content="fundament_2.html">
 
	<meta name="titel"        content="Die wichtigsten Fundamente der Bar">
 
	<meta name="author"       content="Andrea Greulich">
 
	<meta name="description"  content="1. Fundament">
 
</head>
 
<body>
 
<p align="left">
 
<!img src="../images/.gif" alt="Barkunde" width=160 height=200 hspace=10 vspace=4>
 
</p>
 
<p align="center">
 
<H1>1. Angenehme Atmosph&auml;re</H1>
 
</p>
 
<p><b>Wer sich wohlfühlt, bleibt länger und konsumiert mehr!</b></p>
 
<p>Die Einrichtung einer Bar muss zum gewollten Stil passen. Der Stil wiederum hängt davon ab, welche Gäste angesprochen werden sollen, welchen Standort das Lokal hat, wie die räumlichen Gegebenheiten sind usw.</p>
 
 
...
 
 
<p>Damit sich Ihre Gäste wohl fühlen, sind unangenehme Zeitgenossen, die andere belästigen oder sich in anderer Weise unziemlich aufführen, höflich, aber bestimmt zum Verlassen der Bar aufzufordern.
 
</p> 
 
</body>
 
</html>

Nachher:

 
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
 
<html>
 
<head profile="../../profil.rdf">
 
        <meta name="author"       content="">
 
        <meta name="description"  content="">
 
        <meta name="keywords"     content="">
 
        <link rel="stylesheet"   href="../../htm/style.css" type="text/css">
 
        <script language="JavaScript" type="text/javascript"><!--
 
                window.onerror = handle_error; function handle_error(){return true;}
 
                if( !top.UTILITY || !top.UTILITY.UTILITY )
 
                        document.writeln( "<script language='JavaScript' src='../../scripts/utilities.js' type='text/javascript'></script>" );
 
                else
 
                        top.UTILITY.Stylesheet(self);//-->
 
        </script>
 
        <title>Die wichtigsten Fundamente der Bar</title>
 
</head>
 
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" style="background:url(../../images/4_bg.gif); background-repeat:no-repeat; background-color:#FFFFFF;">
 
	<table cellspacing="0" cellpadding="0" border="0">
 
	<tr valign="top" align="left">
 
	<td width="180">
 
<!-- Links -->
 
<p>
 
<! img src="../images/.gif" alt="Barkunde" width=160 height=200 hspace=10 vspace=4 >
 
</p>
 
	<img src="../../images/empty.gif" alt="" width="180" height="1" border="0">
 
	</td>
 
	<td>
 
	<table cellspacing="0" cellpadding="0" border="0">
 
	<tr valign="top" align="left">
 
	<td width="500">
 
<!-- Mitte -->
 
<p>
 
<H1>1. Angenehme Atmosph&auml;re</H1>
 
</p>
 
	</td>
 
	<td width="100">
 
<!-- Rechts -->
 
	<script language="JavaScript"><!--
 
		top.UTILITY.ShowNotiz( self ); // -->
 
	</script>
 
	</td>
 
	</tr>
 
	<tr valign="top" align="left">
 
	<td width="500">
 
<p>
 
 <b>Wer sich wohlfühlt, bleibt länger und konsumiert mehr!</b></p>
 
	</td>
 
	<td width="100">
 
<!-- Rechts -->
 
	<script language="JavaScript"><!--
 
		top.UTILITY.ShowNotiz(); // -->
 
	</script>
 
	</td>
 
	</tr>
 
	<tr valign="top" align="left">
 
	<td width="500">
 
<p>
 
 Die Einrichtung einer Bar muss zum gewollten Stil passen. Der Stil wiederum hängt davon ab, welche Gäste angesprochen werden sollen, welchen Standort das Lokal hat, wie die räumlichen Gegebenheiten sind usw.</p>
 
 
...
 
 
	</td>
 
	<td width="100">
 
<!-- Rechts -->
 
	<script language="JavaScript"><!--
 
		top.UTILITY.ShowNotiz(); // -->
 
	</script>
 
	</td>
 
	</tr>
 
	<tr valign="top" align="left">
 
	<td width="500">
 
<p>
 
 Damit sich Ihre Gäste wohl fühlen, sind unangenehme Zeitgenossen, die andere belästigen oder sich in anderer Weise unziemlich aufführen, höflich, aber bestimmt zum Verlassen der Bar aufzufordern.
 
</p>
 
	</td>
 
	<td width="100">
 
<!-- Rechts -->
 
	<script language="JavaScript"><!--
 
		top.UTILITY.ShowNotiz(); // -->
 
	</script>
 
	</td>
 
	</tr>
 
	</table>
 
	</tr>
 
	</table>
 
<p>
 
 	<table cellspacing="0" cellpadding="0" border="0">
 
	<tr valign="top" align="left">
 
	<td width="180">
 
<!-- Links -->
 
	<img src="../../images/empty.gif" alt="" width="180" height="1" border="0">
 
	</td>
 
	<td>
 
	<table cellspacing="0" cellpadding="0" border="0">
 
	<tr valign="top" align="left">
 
	<td width="500">
 
<!-- Mitte -->
 
<p>
 
 <br>Hier kommen Sie <a class="button" href="javascript:top.NaviBar.SeiteWeiter();" onmouseover="status='Weiter'; return true;" onmouseout="status=''; return true;" onClick="">&nbsp;Weiter </a>&nbsp;	</td>
 
	<td width="100">
 
<!-- Rechts -->
 
	<script language="JavaScript"><!--
 
		top.UTILITY.ShowNotiz(); // -->
 
	</script>
 
	</td>
 
	</tr>
 
	</table>
 
	</tr>
 
	</table>
 
<p>
 
</body>
 
	<!-- Ermoeglicht das Drucken unter IExplorer -->
 
	<SCRIPT LANGUAGE="VBScript">
 
	<!--
 
		sub print
 
		on error resume next
 
		WB.ExecWB 6, 1
 
		end sub
 
	//-->
 
	</SCRIPT>
 
	<OBJECT ID="WB"
 
		WIDTH=0 HEIGHT=0
 
		CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">
 
	</OBJECT>
 
</html>

Nachtrag

Zugriff von Java auf JavaScript

Es hat sich entgegen meinen bisherigen Ermittlungen herausgestellt, dass es doch möglich ist, von einem Java Applet auf eine JavaScript Funktion zuzugreifen. Dies Funktionalität wird von der Klasse netscape.javascript bereitgestellt. Entgegen dem was der Name der Klasse suggeriert, funktioniert der Zugriff über diese Klasse auch im MSIE.

CD

Auf der beiliegenden CD befinden sich alle im Rahmen dieser Diplomarbeit entstandenen Produkte. Das sind im einzelnen Folgende Teile:

Zu Hauptfenster wechseln Zu Vorherigem wechseln Zu Nächstem wechseln