Syntaktik und Semantik

Gast
Gast

Re: Syntaktik und Semantik

Beitrag von Gast » 11. Mär 2014 10:52

Hallo ,
Ich kann irgendwie nichts mit der Aussage von Prof . Weihe anfangen ist jetzt die die Zuweisung eines String zum Typ int semantisch oder syntaktisch falsch ?
Anscheind gibt es ja da mehrere Definitionen und nur die vom Prof ist gültig für die klausur .
So wie ich es verstanden hab hat er ja zugestimmt das es ein Syntax Fehler ist oder ?
Aber was ist es denn nun ( auf die klausur bezogen ) ?

Oder auch so dies als Beispiel syn. Oder Sem. Falsch ?

Class X {
public abstract void m1();
}

Prof. Karsten Weihe
Dozentin/Dozent
Beiträge: 1824
Registriert: 21. Feb 2005 16:33

Re: Syntaktik und Semantik

Beitrag von Prof. Karsten Weihe » 11. Mär 2014 11:02

Gast hat geschrieben: ich kann bei meiner Methode in der Signatur angeben, dass sie eine Exception wirft, sie aber im Rumpf nicht werfen. Ein Compilerfehler wäre das ja auf keinen Fall, aber ist es ein semantischer Fehler? Es führt ja auch nicht zum Programmabbruch. Ist so etwas überhaupt ein Fehler oder fällt das in die Kategorie "verwirrt denjenigen, der den Code liest, ist aber kein Fehler"?
Das ist kein Fehler.

Es ist auch wichtig, dass Exception deklariert werden können, ohne dass sie dann auch geworfen werden müssen, daher sollte man sich nicht verwirren lassen, wenn man den Code liest. 8)

Nehmen Sie eine Klasse X mit Methode void m(), für die eine Exception BlaBlaException mit throws deklariert ist. Jetzt leitet jemand eine Klasse Y von X ab und überschreibt m. Die Signatur muss identisch sein, dass heißt, auch Y.m muss BlaBlaException deklarieren. Nun kann aber Y.m so implementiert sein, dass sich überhaupt kein Grund für den Wurf einer Exception ergibt.

KW

Gast
Gast

Re: Syntaktik und Semantik

Beitrag von Gast » 11. Mär 2014 11:36

Vielen Dank für die Antwort!

Gast
Gast

Re: Syntaktik und Semantik

Beitrag von Gast » 11. Mär 2014 12:39

Hallo ,
Ich kann irgendwie nichts mit der Aussage von Prof . Weihe anfangen ist jetzt die die Zuweisung eines String zum Typ int semantisch oder syntaktisch falsch ?
Anscheind gibt es ja da mehrere Definitionen und nur die vom Prof ist gültig für die klausur .
So wie ich es verstanden hab hat er ja zugestimmt das es ein Syntax Fehler ist oder ?
Aber was ist es denn nun ( auf die klausur bezogen ) ?

Oder auch so dies als Beispiel syn. Oder Sem. Falsch ?

Class X {
public abstract void m1();
}

Benutzeravatar
SophiaLi1
Kernelcompilierer
Kernelcompilierer
Beiträge: 542
Registriert: 5. Jan 2014 11:48

Re: Syntaktik und Semantik

Beitrag von SophiaLi1 » 11. Mär 2014 12:43

Das sind alles syntaktische Fehler, da der Compiler von BlueJ das nicht durchlässt.

Prof. Karsten Weihe
Dozentin/Dozent
Beiträge: 1824
Registriert: 21. Feb 2005 16:33

Re: Syntaktik und Semantik

Beitrag von Prof. Karsten Weihe » 11. Mär 2014 12:45

Gast hat geschrieben:Hallo ,
Ich kann irgendwie nichts mit der Aussage von Prof . Weihe anfangen
Aber vielleicht mit dieser Aussage, die ich weiter oben getroffen hatte: Was immer es an Unterschieden in der Definition von Syntax vs Semantik so gibt, wird für die Klausur nicht relevant sein. :)

Wie von einem Vorredner angeregt, werde ich syntaktisch vs semantisch in Zukunft nicht mehr betrachten, sondern nur noch Compiler vs Laufzeitfehler. :|

KW

Gast
Gast

Re: Syntaktik und Semantik

Beitrag von Gast » 11. Mär 2014 12:58

okay danke !!!
war verwirrt da die ersten in diesem Forum sehr selbstsicher formuliert haben das es sich dabei um ein sematischen fehler handelt !

Antworten

Zurück zu „Archiv“