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.

Dunkelbunt

Trainee

  • "Dunkelbunt" is female
  • "Dunkelbunt" started this thread

Posts: 40

Date of registration: Oct 11th 2005

1

Tuesday, May 1st 2007, 8:45pm

Programmiersprachen und Übersetzer

Weiß jemand, ob die Übungen zu Programmiersprachen und Übersetzer morgen stattfinden? Vorlesung war ja nicht...

Warui

Turner, Serveradmin & Workaholic

  • "Warui" is male

Posts: 717

Date of registration: Apr 25th 2006

Location: Südstadt

Occupation: (iter (B.Sc. Inf, 8)) \n (be-a-slave ("SRA", "Bachelor Thesis")) \n (be-a-programmer-slave ("Freelancer", "Programming"))

2

Tuesday, May 1st 2007, 8:50pm

Also abgegeben werden muss erst nächste Woche laut Übungszettel .... aber ist ne gute Frage
Erwachsenwerden? Ich mach ja viel Scheiß mit, aber nicht jeden!

XAX

Junior Schreiberling

  • "XAX" is male

Posts: 207

Date of registration: Dec 25th 2004

3

Tuesday, May 1st 2007, 11:08pm

Die Übungen finden statt, wurde in der letzten Übung gesagt.

This post has been edited 1 times, last edit by "XAX" (May 1st 2007, 11:09pm)


Torrero

Senior Schreiberling

  • "Torrero" is male

Posts: 854

Date of registration: Oct 16th 2003

Location: Laatzen

Occupation: Angewandte Informatik

4

Monday, February 11th 2008, 3:17am

Ich habe ein Problem beim Bottom-Up-Parsing, wenn es darum geht, shift/reduce und reduce/reduce Konflikte aufzulösen, bzw. in der Parsing-Tabelle zu entscheiden, welches von den beiden man benutzen will/muss/soll.
Im Skript wird angegeben, dass man den Terminalsymbolen Prioritäten gibt und es danach entscheidet.
Aber wie wende ich das konkret an, irgendwie blicke ich da nicht mehr durch.

Neutrino

masselos

  • "Neutrino" is male

Posts: 661

Date of registration: Oct 6th 2005

Location: Hannover

Occupation: SRA Mitarbeiter

5

Monday, February 11th 2008, 9:37am

Wenn man einen nicht eindeutigen Zustand in der Parsingtabelle hat, muss man beim parsen gucken, von welchem zustand man in diesen Zustand kommt.
Z.B
zu parsen :
(1) A+A*A
Prioritäten: "*" > "+"

(2) A*A*A
Prioritäten: "*" > "+"


Der kritische Zustand in der Parsingtabelle tritt auf, wenn du das 2. A liest, dann weiß der Parser nicht, ob shiften oder reduce. Im ersten Fall soll geshiftet werden, da * eine höhere Prio haben soll als + ( also Punkt-vor-Strich-Rechnung). Jetzt musst man aus der Parsingtabelle ablesen, was man vor dem Aktuellen A gelesen hat.
Wenns ein + war --> shiften,
wenns ein * war --> reduce/shiften(kommt drauf an ob * links oder rechtsassoziativ sein soll (variiert nach aufgabe!!))
Ablesen tut man das aus der TAbelle anhand der Zustände.

Einigermaßen klar? Sonst muss ich mal doch noch ne Bsp-Tabelle rauskramen, daran kann mans besser erklären..

This post has been edited 3 times, last edit by "Neutrino" (Feb 11th 2008, 9:46am)


Torrero

Senior Schreiberling

  • "Torrero" is male

Posts: 854

Date of registration: Oct 16th 2003

Location: Laatzen

Occupation: Angewandte Informatik

6

Monday, February 11th 2008, 1:19pm

Danke erstmal für deine Mühe,

Leider ist es mir noch nicht so wirklich klar, wenn du das Beispiel aus dem Skript evtl. erläutern könntest, wäre nicht schlecht.

Edit : besser spät als nie, aber ich hab es jetzt verstanden, jedenfalls hab ich alle übungen durchgerechnet und es hat gepasst. Dann darf es jetzt auch in der Klausur drankkommen, ist mein zweiter Anlauf, damals war aber noch Herr Specht Übungsleiter, mal gucken, ob sich im Klausuraufbau viel geändert hat.

This post has been edited 1 times, last edit by "Torrero" (Feb 13th 2008, 12:31am)


Torrero

Senior Schreiberling

  • "Torrero" is male

Posts: 854

Date of registration: Oct 16th 2003

Location: Laatzen

Occupation: Angewandte Informatik

7

Thursday, February 21st 2008, 3:35pm


Dot

Senior Schreiberling

Posts: 618

Date of registration: Feb 3rd 2003

Location: Ex-Europameisterland

Occupation: 4TheScience

8

Sunday, February 24th 2008, 9:04pm

1,7 ist die beste Note??
Ich überlege das Fach ja auch im Sommer zu machen, aber wenn ich mir so die Noten anschaue, mit 86,X % bekommt man gerade mal eine 1,7!! Und mach braucht 95% für ne 1.0!! Ganz schön happig!
Kann man das Fach empfehlen? Weil hab schon von einigen gehört, dass sie trotz sehr vielem Lernen eine schlechte Note geschrieben haben.
C:\reality.sys has errors - Reboot the universe? (Y/N)

Real programmers don't comment their code.
It was hard to write, it should be hard to understand

This post has been edited 1 times, last edit by "Dot" (Feb 24th 2008, 9:06pm)


  • "WoodChuckNorris" is male

Posts: 35

Date of registration: Oct 13th 2006

9

Sunday, February 24th 2008, 9:58pm

Also ich kann es nicht unbedingt empfehlen. Es geht halt nicht um Verständnis sondern nur Aufgaeben kloppen auf Speeeed und korrekt. Letzlich dann einiges Glück dabei, enwteder du leitest in 35 Schritten ein Wort KORREKT ab oder machst halt einen kleinen Fehler was dann bad luck ist.

Falls dich das ganze interessiert kann ich eher Compilerkosntruktion II empfehlen, das fand ich deutlich einfacher (eben das genaue Gegenteil: man muss die Sachen verstanden haben, da mündlich)

Ist jetzt aber nur meine Meinung, habe generell Probleme mit Klausuren wo es primär auf "Fingerfertigkeit" ankommt :)

This post has been edited 1 times, last edit by "WoodChuckNorris" (Feb 24th 2008, 10:35pm)


Markus

the one and only Unterstrich!

Posts: 2,571

Date of registration: Oct 9th 2003

10

Monday, February 25th 2008, 12:35am

Hm, also wenn du die aktuellen Noten meinst, da haben ja nicht so viele mitgeschrieben, bei den "richtigen" Terminen (also im SoSe, wo auch die Veranstaltung liegt) gibt es in der Regel nicht nur eine 1.0.
Dazu kommt, dass man durch Hausübungen die Note auch noch aufbessern kann (sofern sich da nichts geändert hat).

Zur Vorlesung: Wenn du nach dem Schwierigkeitsgrad einer Vorlesung urteilen willst .... also mal ganz davon abgesehen, dass man das nicht machen sollte ;) ... würde ich sagen: Mittelschwer und Studentenabhängig.
Meine Erfahrung: Wenn man im Semester die Hausübungen macht, und zwar gründlich, auch wenn es mal zwei Stunden dauert, und ich meine selbstständig machen, dann hat man bei der Klausur null Probleme. Hinzu kommen noch die Punkte aus den Hausübungen. Wenn man erst zur Klausur lernt, dann wird es in der Tat sehr schwer, weil es hier wirklich um das praktische Anwenden der erlernten Techniken geht, und nicht darum, die theoretische Funktionsweise zu erklären.
Also, wenn du dich für die Thematik interessiert, und/oder du später mal Compiler Konstruktion hören willst, würde ich dir die Vorlesung als Fingerübung empfehlen.

Und zur Klausur: Ich habe schon öfters mal gehört, dass viele Studenten meinten, es ginge in der Klausur um Geschwindigkeit. Von anderen hört man, dass sie ne halbe Stunde vorher fertig waren..

Und noch was: Wenn du in theoretischer Informatik Spaß an Automaten hattest, wirst du diese Vorlesung auch mögen. Wenn du vorher keinen Spaß an Automaten hattest, kann es durchaus sein, dass du nach der Vorlesung Spaß dran hast ;)
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...

XAX

Junior Schreiberling

  • "XAX" is male

Posts: 207

Date of registration: Dec 25th 2004

11

Monday, February 25th 2008, 3:36pm

Diese Klausur ist mir ein Rätsel. Das Thema ist im Grunde ganz interessant und die Übungen gingen mir leicht von der Hand. Die Klausuraufgaben orientieren sich an den Übungsaufgaben und so hatte ich während/nach der Klausur auch ein ganz gutes Gefühl. Trotzdem hab ich sie nur gerade so bestanden.
Die Form ist sehr wichtig und sowas wie Folgerichtig gibt's nicht. Wenn man beim Ableiten eines Wortes am Anfang irgendwo einen Buchstaben vergisst, gehen die Punkte nur so fliegen.

oixio

Senior Schreiberling

  • "oixio" is male

Posts: 517

Date of registration: Oct 3rd 2004

12

Monday, February 25th 2008, 4:09pm

Die Form ist sehr wichtig

Stimmt, denn erstens ist es ein Formales Fach und zweitens war das Skript erlaubt, wodurch man alle Notationen problemlos hätte Nachschlagen können.
sowas wie Folgerichtig gibt's nicht. Wenn man beim Ableiten eines Wortes am Anfang irgendwo einen Buchstaben vergisst, gehen die Punkte nur so fliegen.

Folgerichtig gab es sehr wohl. Und Punkte "flogen" nur da, wo es durch den Fehler im folgenden sehr viel einfacher wurde. (z.B. musste man durch den Fehler 10 Ableitungsschritte weniger machen, so bekam man darauf auch Abzüge.)
Dieser Post wurde aus 100 % chlorfrei gebleichten, handelsüblichen, freilaufenden, glücklichen Elektronen erzeugt!

Dot

Senior Schreiberling

Posts: 618

Date of registration: Feb 3rd 2003

Location: Ex-Europameisterland

Occupation: 4TheScience

13

Monday, February 25th 2008, 4:27pm

Hmmm, ist ja ziemlich gespalten die Meinung zu dem Fach.
Na mal schauen
C:\reality.sys has errors - Reboot the universe? (Y/N)

Real programmers don't comment their code.
It was hard to write, it should be hard to understand

Markus

the one and only Unterstrich!

Posts: 2,571

Date of registration: Oct 9th 2003

14

Monday, February 25th 2008, 5:04pm

Also, ich hab das auch schon ein paar mal korrigiert, und kann dir versichern, dass die Korrektoren in der Regel alles andere als penibel sind. Und bei den diejährigen Korrektoren glaube ich auch nicht, dass sich da etwas geändert hat ;)
Also an denen liegt es in der Regel nicht ^^
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...

BLUESCREEN

Junior Schreiberling

  • "BLUESCREEN" is male

Posts: 244

Date of registration: Oct 11th 2005

15

Tuesday, February 26th 2008, 4:27pm

Kann man das Fach empfehlen? Weil hab schon von einigen gehört, dass sie trotz sehr vielem Lernen eine schlechte Note geschrieben haben.

Allein wegen des grundlegenden Inhalts ist die Vorlesung unbedingt zu empfehlen - siehe auch drei Posts hier: A-Fächer: Eure Meinungen
Was die Klausur angeht: Wenn man die (teilweise umfangreichen) Übungsaufgaben macht, sollte das wirklich nicht so schwer sein. In der Prüfung vor einem Semester gab es auch 1,0en.

retr0virus

Trainee

  • "retr0virus" is male

Posts: 83

Date of registration: Oct 2nd 2006

Location: NRW -> Bad Oeynhausen

Occupation: B.Sc. Informatik, 8.Semester

16

Saturday, May 3rd 2008, 10:22pm

Hallo, ich habe eine Frage zum aktuellen Übungsblatt, Aufgabe 2.
Es soll ein regulärer Ausdruck entwickelt werden, der alle syntaktisch korrekten URLs ohne den IPv6 Standard akzeptiert.
Angegeben sind zwei Links, einmal zur Wikipedia über URLs und einmal zum rfc3986 Standard.
http://de.wikipedia.org/wiki/Uniform_Resource_Locator
http://tools.ietf.org/html/rfc3986
Müssen wirklich alle Möglichkeiten, die im Standard angegeben sind, abgetippt werden?
Das scheint mir sehr viel Tipparbeit zu sein... Oder ist das wohl irgendwie anders gemeint?
Ein Nichts im Nichts und ins Nichts vertrieben!
- Ren Dhark

oixio

Senior Schreiberling

  • "oixio" is male

Posts: 517

Date of registration: Oct 3rd 2004

17

Sunday, May 4th 2008, 9:18am

Müssen wirklich alle Möglichkeiten, die im Standard angegeben sind, abgetippt werden?
Das scheint mir sehr viel Tipparbeit zu sein... Oder ist das wohl irgendwie anders gemeint?

Da die Aufgabe 3 Punkte gibt, wird da wohl schon ein bisschen was verlangt sein. Wahrscheinlich lässt sich der Aufwand einschränken, wenn man bestimmte Terme mit Namen versieht (siehe Hinweis zum Skript).

Zumal in rfc3986 ja schon fast eine ähnliche Schreibweise verwendet wird...
Dieser Post wurde aus 100 % chlorfrei gebleichten, handelsüblichen, freilaufenden, glücklichen Elektronen erzeugt!

retr0virus

Trainee

  • "retr0virus" is male

Posts: 83

Date of registration: Oct 2nd 2006

Location: NRW -> Bad Oeynhausen

Occupation: B.Sc. Informatik, 8.Semester

18

Tuesday, May 13th 2008, 10:07pm

Hallo,
habe zum neuen Übungsblatt wieder eine Frage:
A2: Es soll ein nichtdeterministischer Transitionsgraph ohne Epsilon-Übergänge erzeugt werden.
Es muss dazu ja jeder Knoten entfernt werden, zu dem nur Epsilon-Übergänge führen.
Bedeutet das, auch wenn der Knoten andere Übergänge besitzt, die aber nur von ihm selbst auf sich führen,
dann wird er auch entfernt? So genau ist das meiner Meinung nach in der Regel nicht beschrieben.
Dort wird nur allgemein von einem Übergang zum Knoten gesprochen, aber nicht explizit von einem Übergang
von einem anderen Knoten aus... Rein logisch betrachtet kann der Knoten ja außer von Epsilon Übergängen nicht
erreicht werden (aber wenn er erstmal erreicht wäre, gäbe es Übergänge auf ihn, wodurch er theoretisch nicht
entfernt werden dürfte...).

Meine Frage nun: Kann ein Knoten, der zwar auf sich selbst Übergänge hat, von außerhalb aber nur Epsilon-
Übergänge, nach der Regel aus der Vorlesung entfernt werden, oder nicht?
Ein Nichts im Nichts und ins Nichts vertrieben!
- Ren Dhark

  • "Schokoholic" is male

Posts: 2,518

Date of registration: Oct 4th 2006

Location: Hannover

Occupation: Haarspaltung

19

Tuesday, May 13th 2008, 10:42pm

Also im Skript steht der Satz
T' enthält alle Knoten aus K, auf die wenigstens ein
Übergangspfeil zeigt, der nicht mit epsilon markiert ist, sowie den
Startknoten von T. Die Menge dieser Knoten werde mit K'
bezeichnet.

Ich würde sagen, das ist recht eindeutig: Da ja auf deinen fraglichen Zustand ein Pfeil zeigt der nicht mit epsilon beschriftet ist (auch wenn er vom Zustand selbst ausgeht) muss er wohl enthalten sein. Möglicherweise ließe sich das noch optimieren, aber nach dem Algoithmus der Vorlesung ist es ziemlich klar denke ich.

retr0virus

Trainee

  • "retr0virus" is male

Posts: 83

Date of registration: Oct 2nd 2006

Location: NRW -> Bad Oeynhausen

Occupation: B.Sc. Informatik, 8.Semester

20

Sunday, June 1st 2008, 6:52am

Ich habe zum neuen Übungsblatt eine Frage.
Bei mir kommt es trotz Anwendung der Entfernung der Präfixe und der Entfernung der Linksrekursionen dazu,
dass die LL(1) Bedingung nicht erfüllt wird.
Nehmen wir folgende Grammatik (nicht aus der Aufgabe, aber mit gleicher Aussage):
A -> Ba | b | epsilon
B -> b | e | epsilon

Wie zu sehen ist, ist First(Ba) geschnitten mit First(b) nicht die leere Menge( = erste Bedingung für LL(1)) , sondern { b }.
Was kann man in so einem Fall tun?
Wenn ich das Skript richtig verstehe, gibt es ja keine Regel, die so ein Problem auflöst.
Oder habe ich etwas wichtiges übersehen?
Die Entfernung der gemeinsamen Präfixe beeinflusst ja nur die direkten Produktionen, aber nicht die "tiefen" Präfixe - oder ist
die Angabe im Skript, dass kein gamma_i das Präfix alpha haben soll so zu verstehen, dass jedes First(gamma_i) = alpha ebenfalls
ersetzt wird? Nur wie wird das dann mit den weiteren Produktionen gehandhabt?
Man kann ja schlecht aus dem B -> b | e | epsilon einfach das b rausnehmen?! ?( Oder würde dann bei allen "tieferen" Nichtterminalen
das gemeinsame Präfix durch epsilon ersetzt?

Meiner Meinung nach wird der Fall von der Regel nicht abgedeckt, kann mich natürlich auch irren, bitte dann aber um Aufklärung. :(
Ein Nichts im Nichts und ins Nichts vertrieben!
- Ren Dhark

This post has been edited 1 times, last edit by "retr0virus" (Jun 1st 2008, 6:53am)