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

Informatiker Board » Themengebiete » Theoretische Informatik » Java Level 1 - Ableitung » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 4 Beiträge
Crotaphytus

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
newsys

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...
Tobias

Was ist denn "Quelltext ableiten"?
newsys Java Level 1 - Ableitung

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