Dies ist eine statische Kopie unseres alten Forums. Es sind keine Interaktionen möglich.
This is a static copy of our old forum. Interactions are not possible.

Sinan

Senior Schreiberling

  • "Sinan" is male
  • "Sinan" started this thread

Posts: 1,021

Date of registration: Jul 5th 2003

Location: Malaga

Occupation: Senior Cloud Solution Engineer bei Oracle

1

Tuesday, April 8th 2008, 5:36pm

Praktische Übung zur Vorlesung Programmiersprachen und Übersetzer

Hallo zusammen,

Wie heute in der Vorlesung angekündigt, findet dieses Semester eine freiwillige praktische Übung statt.
Genau Informationen findet ihr hier:
http://www-psue.informatik.uni-hannover.…sue/puebung.php

Bei erfolgreicher Teilnahme und Bestehen der Klausur gibt es 3% Bonuspunkte.
Es können max. 15 Studenten an der praktischen Übung teilnehmen.
Für die Anmeldung reicht einfach eine kurze E-Mail: sinan@stud.uni-hann... - Name, Vorname, Matrikelnummer, Studiengang und Semester angeben.

Es wird in Java programmiert, man sollte also zumindest die Java-Vorlesung gehört haben.

Bei Fragen auch einfach eine E-Mail schreiben :)

Gruß, Sinan
With great power comes great responsibility

This post has been edited 1 times, last edit by "SunshineSunny" (Apr 8th 2008, 5:53pm)


retr0virus

Trainee

  • "retr0virus" is male

Posts: 83

Date of registration: Oct 2nd 2006

Location: NRW -> Bad Oeynhausen

Occupation: B.Sc. Informatik, 8.Semester

2

Sunday, April 27th 2008, 4:28pm

Hallo,

ich habe eine Frage zur ersten Übung, letzter Teil - manueller Scanner.
Mein Scanner läuft und scheint auch die richtigen Ausgaben zu geben, aber ich frage mich,
ob noch ein Standard-Fall implementiert werden soll, also wenn man z.B. statt a ein ä eingibt.

ä ist in der Sprache ja nicht vorgesehen. Sollen wir dafür dann eine eigene Exception Klasse schreiben
oder erstmal das Problem einfach ignorieren? Momentan habe ich an der Stelle eine NotImplementedException()
eingefügt, das trifft die Sache aber nicht so ganz. ;)
In der Aufgabe steht zu solchen Sonderfällen ja nichts - kommt vielleicht in einer weiteren Übung?

Und dann würde mich noch interessieren, ob nur die nextToken() Methode verändert werden sollte
oder ob es auch erlaubt ist, weitere private Methoden hinzuzufügen. (Obwohl es jetzt bei mir auch ohne
andere Methoden läuft...).

Eine weitere Frage tauchte bei mir bei der Symboltabelle auf, die in der Praktischen Übung vorgestellt wurden.
Die JUnit Tests laufen bei mir problemlos durch, aber statt einer wirklichen "2-Spalten-Tabelle" habe ich eher eine Liste mit Symbolen.
Ist das egal oder muss es explizit eine Datenstruktur geben, wo NAME und SYMBOL getrennt gespeichert werden?
Meiner Meinung nach ist es doch im Prinzip egal, wie der Name und das Symbol intern gefunden werden - in der Aufgabe
steht dazu ja auch keine exakte Richtlinie.
Es würde nur programmiertechnisch einen größeren Umstand machen wirklich zwei "Spalten" in der Symbolliste zu erzeugen bzw. auszulesen.
Ein Nichts im Nichts und ins Nichts vertrieben!
- Ren Dhark

Sinan

Senior Schreiberling

  • "Sinan" is male
  • "Sinan" started this thread

Posts: 1,021

Date of registration: Jul 5th 2003

Location: Malaga

Occupation: Senior Cloud Solution Engineer bei Oracle

3

Sunday, April 27th 2008, 9:28pm


ä ist in der Sprache ja nicht vorgesehen. Sollen wir dafür dann eine eigene Exception Klasse schreiben
oder erstmal das Problem einfach ignorieren?

Wenn man einen Standardfall implementiert, wirft sich die Frage "was mit den anderen Sonderzeichen?". Wenn es nicht zu Sprache gehört sollte es durch eine Exception aufgefangen werden.

Und dann würde mich noch interessieren, ob nur die nextToken() Methode verändert werden sollte
oder ob es auch erlaubt ist, weitere private Methoden hinzuzufügen. (Obwohl es jetzt bei mir auch ohne
andere Methoden läuft...).

Man kann beliebig viele weitere Methoden, Klassen und Packages hinzufügen wenn man daran einen Sinn findet, z.B. wenn das einfach die Lesbarkeit verbessert.

Eine weitere Frage tauchte bei mir bei der Symboltabelle auf, die in der Praktischen Übung vorgestellt wurden.
Die JUnit Tests laufen bei mir problemlos durch, aber statt einer wirklichen "2-Spalten-Tabelle" habe ich eher eine Liste mit Symbolen.

Ist nicht vorgeschrieben welche Datenstruktur man verwenden muss.
With great power comes great responsibility

Philipp

Praktikant

  • "Philipp" is male

Posts: 13

Date of registration: Nov 11th 2006

4

Monday, April 28th 2008, 9:00am

Eine weitere Frage tauchte bei mir bei der Symboltabelle auf, die in der Praktischen Übung vorgestellt wurden.
Die JUnit Tests laufen bei mir problemlos durch, aber statt einer wirklichen "2-Spalten-Tabelle" habe ich eher eine Liste mit Symbolen.
Ist das egal oder muss es explizit eine Datenstruktur geben, wo NAME und SYMBOL getrennt gespeichert werden?
Meiner Meinung nach ist es doch im Prinzip egal, wie der Name und das Symbol intern gefunden werden - in der Aufgabe
steht dazu ja auch keine exakte Richtlinie.
Es würde nur programmiertechnisch einen größeren Umstand machen wirklich zwei "Spalten" in der Symbolliste zu erzeugen bzw. auszulesen.

Wenn du z.B. nochmal dein Datenstrukturen und Algorithmen Skript durchblätterst, findest du vielleicht eine Datenstruktur die wesentlich effizienter als eine Liste das Problem löst ( in der Datenstruktur soll später für die Semantik vorallem gesucht werden und das am Besten so schnell wie möglich, denn wir wollen nicht den ganzen Tag mit Kaffee trinken verbringen bis unser Programm "compiliert" ist ) und das ( Name, Symbol ) Problem quasi automatisch löst.
Aber es ist natürlich dein Werk und soll nicht anmaßen, dass deine Realisierung "schlecht" wäre.

Quoted

ä ist in der Sprache ja nicht vorgesehen. Sollen wir dafür dann eine eigene Exception Klasse schreiben
In den Kommentaren sind alle Zeichen ( bis auf Linebreak ) erlaubt ;-)


Gruss Philipp
Mögen all deine Träume sich erfüllen, Träumer; mögen sie dir stets Glück und Erkenntnis bringen. ( Sergio Bambaren, Der träumende Delphin )

retr0virus

Trainee

  • "retr0virus" is male

Posts: 83

Date of registration: Oct 2nd 2006

Location: NRW -> Bad Oeynhausen

Occupation: B.Sc. Informatik, 8.Semester

5

Monday, April 28th 2008, 9:43am

Wenn du z.B. nochmal dein Datenstrukturen und Algorithmen Skript durchblätterst, findest du vielleicht eine Datenstruktur die wesentlich effizienter als eine Liste das Problem löst
Ich habe Datenstrukturen und Algorithmen bisher leider nicht besucht... habe also auch kA welche Datenstruktur sich besser eignen würde... (ok, wahrscheinlich irgendein sortierter Baum). Mein momentanes Programm benutzt da eine bereits in Java eingebaute Struktur, die eher eine Liste statt ein Baum ist (gibt es Bäume in Java oder müsste man sich die selber basteln?).

Aber es ist natürlich dein Werk und soll nicht anmaßen, dass deine Realisierung "schlecht" wäre.

Quoted

ä ist in der Sprache ja nicht vorgesehen. Sollen wir dafür dann eine eigene Exception Klasse schreiben
In den Kommentaren sind alle Zeichen ( bis auf Linebreak ) erlaubt ;-)
Stimmt, ich denke in den Kommentaren würde mein Scanner Sonderzeichen erlauben. ;)
Ein Nichts im Nichts und ins Nichts vertrieben!
- Ren Dhark

Philipp

Praktikant

  • "Philipp" is male

Posts: 13

Date of registration: Nov 11th 2006

6

Monday, April 28th 2008, 3:27pm

Ich habe Datenstrukturen und Algorithmen bisher leider nicht besucht... habe also auch kA welche Datenstruktur sich besser eignen würde... (ok, wahrscheinlich irgendein sortierter Baum). Mein momentanes Programm benutzt da eine bereits in Java eingebaute Struktur, die eher eine Liste statt ein Baum ist (gibt es Bäume in Java oder müsste man sich die selber basteln?).
Ok, das ist dann natürlich sehr blöd.
Inwiefern in der Java API irgendwo Bäume angeboten werden weiss ich nicht, man könnte dann eh nur welche mit ganz bestimmten Eigenschaften benutzen, die für das Suchen hin optimiert worden sind.
Da ich dir leider hier nichts großes verraten darf .... gib einfach mal Symboltabelle bei google ein. Oder guck dir an wie irgendwelche Geeks ihre Symboltabellen in den Compilern verwirklicht haben ( z.B. GNU C Compiler ).
Sonst lass es einfach so, da vermutlich nur kleine Programme später übersetzt werden, wird man eh bei den heutigen Hochleistungsrechnern keinen Unterschied feststellen.
Bei wenigen Symbolen ist deine Struktur vermutlich sogar noch schneller als die Struktur die sich anbieten würde.
Hatte das nur erwähnt, weil du danach gefragt hattest.

Gruss
Philipp
Mögen all deine Träume sich erfüllen, Träumer; mögen sie dir stets Glück und Erkenntnis bringen. ( Sergio Bambaren, Der träumende Delphin )

101011100

Praktikant

Posts: 10

Date of registration: May 3rd 2008

7

Saturday, May 3rd 2008, 9:46pm

Ant-Build-SKript

Hallo,

Wenn ich das richtig verstanden habe, muss man die Angaben aus
Aufgabe2 in lexical rules in der Datei GeneratedScanner.lex umsetzen.
Das habe ich gemacht.

Danach müsste durch das Build-Skript mit Hilfe von JFlex die
GeneratedScanner.java (neu erzeugt oder ) überschrieben werden. Das
passiert bei mir nicht. Ich kriege zwar die Ausgabe:

Buildfile: D:\PSUE\bpsc1\build.xml
BUILD SUCCESSFUL
Total time: 501 milliseconds

Aber es wird kein Code-File generiert und das existierende nicht überschieben.

Was mache ich falsch?

This post has been edited 1 times, last edit by "101011100" (May 3rd 2008, 9:48pm)


101011100

Praktikant

Posts: 10

Date of registration: May 3rd 2008

8

Sunday, May 4th 2008, 2:40am

Regular Expressions

Hi,

dürfen wir bei der Implementierung des ManualScanner javaeigene Klassen zum Umgang mit regulären Ausdrücken verwenden, oder soll die Tokenerkennung ähnlich Beispiel auf Seite 43 im Skript ablaufen?

Gruß.

Sinan

Senior Schreiberling

  • "Sinan" is male
  • "Sinan" started this thread

Posts: 1,021

Date of registration: Jul 5th 2003

Location: Malaga

Occupation: Senior Cloud Solution Engineer bei Oracle

9

Sunday, May 4th 2008, 4:19am

RE: Regular Expressions


dürfen wir bei der Implementierung des ManualScanner javaeigene Klassen zum Umgang mit regulären Ausdrücken verwenden

Ja, könnt ihr machen. In der Aufgabestellung ist nicht festgelegt wie das zu realisieren ist.
With great power comes great responsibility