Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » Java Level 1 - Ableitung » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Java Level 1 - Ableitung
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
newsys
Jungspund


Dabei seit: 04.11.2007
Beiträge: 15

Java Level 1 - Ableitung Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo allerseits,

ich habe eine Frage zum Thema Ableitung eines Quelltextes in Java.

Wir haben die Aufgabe einen vorgegebenen Quelltext abzuleiten....Problem ist, dass ich dies noch nie gemacht habe und nun ein Beispiel suche. Im Internet (Google) habe ich leider nichts gefunden.

Kann mir jemand ein Beispiel zeigen? Oder ein Link geben?

Vielen Dank im vorraus
04.11.2007 13:50 newsys ist offline E-Mail an newsys senden Beiträge von newsys suchen Nehmen Sie newsys in Ihre Freundesliste auf
Tobias
Routinier


Dabei seit: 18.09.2006
Beiträge: 324

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Was ist denn "Quelltext ableiten"?
04.11.2007 14:54 Tobias ist offline E-Mail an Tobias senden Beiträge von Tobias suchen Nehmen Sie Tobias in Ihre Freundesliste auf
newsys
Jungspund


Dabei seit: 04.11.2007
Beiträge: 15

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hier ist mal die Aufgabe:

3.1.1 Die gegebene EBNF (siehe auch JavaLevel01-Syntax.pdf im CommSy) zeigt die Syntax für eine vereinfachte Variante von Java (Java Level 1). Auf den ersten Aufgabenblättern be-schränken wir uns auf diese Untermenge des Java-Sprachumfangs.Die Notation entspricht der üblichen Notation für die Java-Syntax in der „offiziellen“ Sprachdefinition. Überprüft den folgenden Quelltext auf seine syntaktische Korrektheit, indem ihr ihn, ausge-hend von der Regel für das Startsymbol CompilationUnit, konstruiert. Dabei werden die links stehenden Nichtterminale durch eine der hinter dem Doppelpunkt stehenden Zeilen ersetzt. Diesen Vorgang nennt man Ableitung; er wird jedes Mal implizit durchgeführt, wenn der Com-piler einen Quelltext übersetzt. Beispiel für den Beginn einer Ableitung (die Terminale des abgeleiteten Quelltextes sind zur Übersichtlichkeit unterstrichen):

CompilationUnit -> NormalClassDeclaration
-> class Identifier ClassBody
-> class Vertrag ClassBody
-> class Vertrag { { ClassBodyDeclaration } }

Hinweis: Ein Identifier ist ein Bezeichner (ein Name wie „Vertrag“ in diesem Beispiel) und ist aus Sicht der Grammatik ein terminales Symbol (nicht weiter ableitbar). Das gleiche gilt für Li-terale wie den int-Wert 512 oder den String "Banane".
Leitet den folgenden Quelltext vollständig in der angegebenen Weise ab:

class Vertrag

{ private int _vertragsnummer; public int gibVertragsnummer()
{
if (_vertragsnummer > 0)
return _vertragsnummer;
}
}

Benutzt einen beliebigen Texteditor, damit ihr bei einem Fehler leichter korrigieren könnt. Bei jedem Ableitungsschritt solltet ihr nur genau eine Ersetzung vornehmen: Entweder ersetzt ihr ein Nichtterminal durch eine seiner möglichen Alternativen oder ihr ersetzt Metasymbole wie die geschweiften Klammern der EBNF.

Ich würde halt ganz gerne mal ein anderes vollständiges Beispiel sehen...

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von newsys: 04.11.2007 16:42.

04.11.2007 16:41 newsys ist offline E-Mail an newsys senden Beiträge von newsys suchen Nehmen Sie newsys in Ihre Freundesliste auf
Crotaphytus
Mitglied


Dabei seit: 18.09.2006
Beiträge: 45

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ein einfaches Beispiel für Binärzahlen mit optionalem Dezimalteil (damits etwas interessanter wird):

Binary = 0 | 1{Bin}[.{Bin}1]
Bin = 0|1

Dann hier die Ableitung der Zahl 101.01 (Ersetzungen jeweils von Links nach Rechts:

Binary -> 1{Bin}[.{Bin}1] > 1BinBin[.{Bin}1] -> 10Bin[.{Bin}1] -> 101[.{Bin}1] -> 101.{Bin}1 -> 101.Bin1 -> 101.01

__________________
Das ist keine Signatur.
05.11.2007 01:18 Crotaphytus ist offline E-Mail an Crotaphytus senden Beiträge von Crotaphytus suchen Nehmen Sie Crotaphytus in Ihre Freundesliste auf Fügen Sie Crotaphytus in Ihre Kontaktliste ein
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Theoretische Informatik » Java Level 1 - Ableitung