Upload
ottila-welle
View
107
Download
0
Embed Size (px)
Citation preview
Automatisierte Compilergenerierung
mit VCC aus AtoCC
Michael Hielscher IIm06
Einführung
Compilerbau bedeutet: Herstellung eines Programms (Compiler) zur Übersetzung (ST) einer Quellsprache S in eine Zielsprache T.
Automatisierte Compiler-Konstruktion bedeutet: Ein sog. compiler compiler (z.B. VCC) nimmt die Beschreibungen von S und T sowie die jeweiligen Entsprechungen und erzeugt den ST Compiler.
Dies soll hier vorgeführt werden am Bsp.: Filtern von Informationen aus dem Börsenumfeld.
2
Einführung3
Börsendaten werden im Videotext angezeigt
Wir suchen uns die füruns gerade wichtigenKurse heraus.
Könnte dies nicht auchder Rechner für uns tun?
Zielstellung4
Unser Ziel:Börsendaten aus dem Videotext auslesen, wichtige Informationen herausfiltern und verarbeiten.Ausgabe soll eine Liste der Wertpapiere und ihre Entwicklung in Prozent (z.B.: Siemens +2,5%) sein.
Technische Voraussetzungen: TV-Karte im Rechner um Videotext in den
Rechner zu bekommen Empfang eines TV-Senders wie etwa ARD, N-TV…
Zielstellung5
423 ARD/ZDF So 07.11.99 16:15:49 Frankfurter Börse 1/5 Deutsche Aktien 05.11.99 18:22:00 Kassa Vortag AAA......... 6.75 6.75 6.75 Achterbahn.. 89.00 91.00 92.00 Agfa........ 18.40 18.55 18.62 AGFB........ 11.90 11.92 11.85 Akzo Nobel.. 180.00 180.00 180.00 Albingia VZ. 658.00 658.00 658.00 Alcatel SEL. 155.00 155.00 156.00 Allianz Leb. 505.00 505.00 501.00 Allweiler VZ 200.00 200.00 200.00 Alno........ 8.60 8.60 8.50 Alsen....... 21.51 21.51 21.51 AMB INH..... 80.00 79.50 79.00 AM Leben.... 280.00 280.00 280.00 AM Versich.. 203.00 203.00 203.00 Andreae-N.Z. 28.50 28.50 28.50 Asea Brown.. 259.00 259.00 248.00 ATB Antrieb. 27.20 27.20 27.20 Audi........ 69.00 69.00 68.00 Autania..... 8.05 8.05 8.00 Quelle: vwd >>
423 ARD/ZDF So 07.11.99 16:15:55 Frankfurter Börse 2/5 Deutsche Aktien 05.11.99 18:22:08 Kassa Vortag AXA Col.VZ.. 86.10 86.00 86.20 Babcock-Bors 40.00 39.50 38.50 Babcock-BSH. 3.29 3.29 3.30 Bad.Wuert.Bk 34.50 34.50 34.50 Barmag...... 15.50 15.30 15.40 Balcke-Duerr 10.70 10.70 10.60 BBS......... 20.00 20.00 20.50 Benz, Rolf.. 20.00 20.00 20.00 Berl.Freiver 23.45 23.40 23.60 Berlin Hyp.. 32.00 32.00 32.00 Berl. Kindl. 200.00 200.00 200.00 Bertelsm.Gen 224.60 224.60 224.70 BHS tabletop 8.90 8.90 8.90 Bijou Brig.. 25.60 25.70 25.48 Binding ST.. 202.00 202.00 202.00 Blaue Quel.. 440.00 440.00 440.00 BMW VZ...... 13.95 13.75 13.76 Boss,Hugo ST 106.00 106.00 109.00 Boss,Hugo VZ 128.50 128.40 128.75 Quelle: vwd >>
Umsetzung6
Anhand des vorliegenden Formats (automatisch erstellte Video-Text-Datei) müssen wir eine formale Grammatik formale Grammatik entwickeln.
Was war gleich noch mal eine Grammatik? Ein Beispiel: Artikel Subjekt Verb Adjektiv Satzzeichen
Der Hund bellt laut. ein gültiger Satz Hund laut der . bellt kein gültiger Satz
Eine Grammatik ist ein Regelwerk und beschreibt systematisch den Aufbau einer bestimmten Sprache.
Formale Grammatik für S7
Wir wollen eine Grammatik für unsere Quellsprache S (VideoText-Daten in Form einer Textdatei) herstellen.
Hierfür müssen wir die Struktur des Dokuments analysieren.
Dies kann mitunter sehr schwierig sein!
Versuchen wir es mal
423 ARD/ZDF So 07.11.99 16:15:49 Frankfurter Börse 1/5 Deutsche Aktien 05.11.99 18:22:00 Kassa Vortag AAA......... 6.75 6.75 6.75 Achterbahn.. 89.00 91.00 92.00 Agfa........ 18.40 18.55 18.62 AGFB........ 11.90 11.92 11.85 Akzo Nobel.. 180.00 180.00 180.00 Albingia VZ. 658.00 658.00 658.00 Alcatel SEL. 155.00 155.00 156.00 Allianz Leb. 505.00 505.00 501.00 Allweiler VZ 200.00 200.00 200.00 Alno........ 8.60 8.60 8.50 Alsen....... 21.51 21.51 21.51 AMB INH..... 80.00 79.50 79.00 AM Leben.... 280.00 280.00 280.00 AM Versich.. 203.00 203.00 203.00 Andreae-N.Z. 28.50 28.50 28.50 Asea Brown.. 259.00 259.00 248.00 ATB Antrieb. 27.20 27.20 27.20 Audi........ 69.00 69.00 68.00 Autania..... 8.05 8.05 8.00 Quelle: vwd >>
Formale Grammatik für S8
423 ARD/ZDF So 07.11.99 16:15:49 Frankfurter Börse 1/5 Deutsche Aktien 05.11.99 18:22:00 Kassa Vortag AAA......... 6.75 6.75 6.75 Achterbahn.. 89.00 91.00 92.00 Agfa........ 18.40 18.55 18.62 AGFB........ 11.90 11.92 11.85 Akzo Nobel.. 180.00 180.00 180.00 Albingia VZ. 658.00 658.00 658.00 Alcatel SEL. 155.00 155.00 156.00 Allianz Leb. 505.00 505.00 501.00 Allweiler VZ 200.00 200.00 200.00 Alno........ 8.60 8.60 8.50 Alsen....... 21.51 21.51 21.51 AMB INH..... 80.00 79.50 79.00 AM Leben.... 280.00 280.00 280.00 AM Versich.. 203.00 203.00 203.00 Andreae-N.Z. 28.50 28.50 28.50 Asea Brown.. 259.00 259.00 248.00 ATB Antrieb. 27.20 27.20 27.20 Audi........ 69.00 69.00 68.00 Autania..... 8.05 8.05 8.00 Quelle: vwd >>
Seitennummer Wir wollen eine
Grammatik für unsere Quellsprache S (VideoText-Daten in Form einer Textdatei) herstellen.
Hierfür müssen wir die Struktur des Dokuments analysieren.
Dies kann mitunter sehr schwierig sein!
Versuchen wir es mal
Formale Grammatik für S9
423 ARD/ZDF So 07.11.99 16:15:49 Frankfurter Börse 1/5 Deutsche Aktien 05.11.99 18:22:00 Kassa Vortag AAA......... 6.75 6.75 6.75 Achterbahn.. 89.00 91.00 92.00 Agfa........ 18.40 18.55 18.62 AGFB........ 11.90 11.92 11.85 Akzo Nobel.. 180.00 180.00 180.00 Albingia VZ. 658.00 658.00 658.00 Alcatel SEL. 155.00 155.00 156.00 Allianz Leb. 505.00 505.00 501.00 Allweiler VZ 200.00 200.00 200.00 Alno........ 8.60 8.60 8.50 Alsen....... 21.51 21.51 21.51 AMB INH..... 80.00 79.50 79.00 AM Leben.... 280.00 280.00 280.00 AM Versich.. 203.00 203.00 203.00 Andreae-N.Z. 28.50 28.50 28.50 Asea Brown.. 259.00 259.00 248.00 ATB Antrieb. 27.20 27.20 27.20 Audi........ 69.00 69.00 68.00 Autania..... 8.05 8.05 8.00 Quelle: vwd >>
Sender Wir wollen eine
Grammatik für unsere Quellsprache S (VideoText-Daten in Form einer Textdatei) herstellen.
Hierfür müssen wir die Struktur des Dokuments analysieren.
Dies kann mitunter sehr schwierig sein!
Versuchen wir es mal
Formale Grammatik für S10
423 ARD/ZDF So 07.11.99 16:15:49 Frankfurter Börse 1/5 Deutsche Aktien 05.11.99 18:22:00 Kassa Vortag AAA......... 6.75 6.75 6.75 Achterbahn.. 89.00 91.00 92.00 Agfa........ 18.40 18.55 18.62 AGFB........ 11.90 11.92 11.85 Akzo Nobel.. 180.00 180.00 180.00 Albingia VZ. 658.00 658.00 658.00 Alcatel SEL. 155.00 155.00 156.00 Allianz Leb. 505.00 505.00 501.00 Allweiler VZ 200.00 200.00 200.00 Alno........ 8.60 8.60 8.50 Alsen....... 21.51 21.51 21.51 AMB INH..... 80.00 79.50 79.00 AM Leben.... 280.00 280.00 280.00 AM Versich.. 203.00 203.00 203.00 Andreae-N.Z. 28.50 28.50 28.50 Asea Brown.. 259.00 259.00 248.00 ATB Antrieb. 27.20 27.20 27.20 Audi........ 69.00 69.00 68.00 Autania..... 8.05 8.05 8.00 Quelle: vwd >>
Wochentag Wir wollen eine
Grammatik für unsere Quellsprache S (VideoText-Daten in Form einer Textdatei) herstellen.
Hierfür müssen wir die Struktur des Dokuments analysieren.
Dies kann mitunter sehr schwierig sein!
Versuchen wir es mal
Formale Grammatik für S11
423 ARD/ZDF So 07.11.99 16:15:49 Frankfurter Börse 1/5 Deutsche Aktien 05.11.99 18:22:00 Kassa Vortag AAA......... 6.75 6.75 6.75 Achterbahn.. 89.00 91.00 92.00 Agfa........ 18.40 18.55 18.62 AGFB........ 11.90 11.92 11.85 Akzo Nobel.. 180.00 180.00 180.00 Albingia VZ. 658.00 658.00 658.00 Alcatel SEL. 155.00 155.00 156.00 Allianz Leb. 505.00 505.00 501.00 Allweiler VZ 200.00 200.00 200.00 Alno........ 8.60 8.60 8.50 Alsen....... 21.51 21.51 21.51 AMB INH..... 80.00 79.50 79.00 AM Leben.... 280.00 280.00 280.00 AM Versich.. 203.00 203.00 203.00 Andreae-N.Z. 28.50 28.50 28.50 Asea Brown.. 259.00 259.00 248.00 ATB Antrieb. 27.20 27.20 27.20 Audi........ 69.00 69.00 68.00 Autania..... 8.05 8.05 8.00 Quelle: vwd >>
Datum Uhrzeit Wir wollen eine
Grammatik für unsere Quellsprache S (VideoText-Daten in Form einer Textdatei) herstellen.
Hierfür müssen wir die Struktur des Dokuments analysieren.
Dies kann mitunter sehr schwierig sein!
Versuchen wir es mal
Formale Grammatik für S12
423 ARD/ZDF So 07.11.9907.11.99 16:15:4916:15:49 Frankfurter Börse 1/5 Deutsche Aktien 05.11.9905.11.99 18:22:0018:22:00 Kassa Vortag AAA......... 6.75 6.75 6.75 Achterbahn.. 89.00 91.00 92.00 Agfa........ 18.40 18.55 18.62 AGFB........ 11.90 11.92 11.85 Akzo Nobel.. 180.00 180.00 180.00 Albingia VZ. 658.00 658.00 658.00 Alcatel SEL. 155.00 155.00 156.00 Allianz Leb. 505.00 505.00 501.00 Allweiler VZ 200.00 200.00 200.00 Alno........ 8.60 8.60 8.50 Alsen....... 21.51 21.51 21.51 AMB INH..... 80.00 79.50 79.00 AM Leben.... 280.00 280.00 280.00 AM Versich.. 203.00 203.00 203.00 Andreae-N.Z. 28.50 28.50 28.50 Asea Brown.. 259.00 259.00 248.00 ATB Antrieb. 27.20 27.20 27.20 Audi........ 69.00 69.00 68.00 Autania..... 8.05 8.05 8.00 Quelle: vwd >>
Datum Uhrzeit Wir wollen eine
Grammatik für unsere Quellsprache S (VideoText-Daten in Form einer Textdatei) herstellen.
Hierfür müssen wir die Struktur des Dokuments analysieren.
Dies kann mitunter sehr schwierig sein!
Versuchen wir es mal
Formale Grammatik für S13
Nach der Analyse aller Bestandteile können wir die Struktur durch eine Grammatik abbilden:
Seite Titelzeile Ort Seitenzahl Art Tabellenkopf Werte Ende
Titelzeile Zahl Sender Tag Datum Uhrzeit
…
423 ARD/ZDF So 07.11.9907.11.99 16:15:4916:15:49 Frankfurter Börse 1/5 Deutsche Aktien 05.11.9905.11.99 18:22:0018:22:00 Kassa Vortag AAA......... 6.75 6.75 6.75 Achterbahn.. 89.00 91.00 92.00 Agfa........ 18.40 18.55 18.62 AGFB........ 11.90 11.92 11.85 Akzo Nobel.. 180.00 180.00 180.00 Albingia VZ. 658.00 658.00 658.00 Alcatel SEL. 155.00 155.00 156.00 Allianz Leb. 505.00 505.00 501.00 Allweiler VZ 200.00 200.00 200.00 Alno........ 8.60 8.60 8.50 Alsen....... 21.51 21.51 21.51 AMB INH..... 80.00 79.50 79.00 AM Leben.... 280.00 280.00 280.00 AM Versich.. 203.00 203.00 203.00 Andreae-N.Z. 28.50 28.50 28.50 Asea Brown.. 259.00 259.00 248.00 ATB Antrieb. 27.20 27.20 27.20 Audi........ 69.00 69.00 68.00 Autania..... 8.05 8.05 8.00 Quelle: vwd >>
Formale Grammatik für S14
423 ARD/ZDF So 07.11.9907.11.99 16:15:4916:15:49 Frankfurter Börse 1/5 Deutsche Aktien 05.11.9905.11.99 18:22:0018:22:00 Kassa Vortag AAA......... 6.75 6.75 6.75 … Quelle: vwd >>
Da wir keine Informationen aus der Titelzeile, Ort, Seite … benötigen können wir die Grammatik stark vereinfachen:
TextText
Text
Text
Text
Text
Text
Text
Datum
Datum
Uhrzeit
Uhrzeit
Kassa
Kassa
Vortag
Vortag
Seite
Seite
WerteWerte
Werte
Werte
Text
Text
Text
Text
Werte
Werte
Zeile
Zeile
Zeile
Zeile
Zeile
Zeile
Text
Text
Kommazahl
Kommazahl
Kommazahl
Kommazahl
Kommazahl
Kommazahl
Formale Grammatik für S15
423 ARD/ZDF So 07.11.9907.11.99 16:15:4916:15:49 Frankfurter Börse 1/5 Deutsche Aktien 05.11.9905.11.99 18:22:0018:22:00 Kassa Vortag AAA......... 6.75 6.75 6.75 … Quelle: vwd >>
Da wir keine Informationen aus der Titelzeile, Ort, Seite … benötigen können wir die Grammatik stark vereinfachen:
TextText
Text
Text
Text
Text
Text
Text
Datum
Datum
Uhrzeit
Uhrzeit
Kassa
Kassa
Vortag
Vortag
Seite
Seite
WerteWerte
Werte
Werte
Text
Text
Text
Text
Werte
Werte
Zeile
Zeile
Zeile
Zeile
Zeile
Zeile
Text
Text
Kommazahl
Kommazahl
Kommazahl
Kommazahl
Kommazahl
Kommazahl
Die mehrfachen Leerzeichen interessieren uns
nicht!
Formale Grammatik für S16
423 ARD/ZDF So 07.11.9907.11.99 16:15:4916:15:49 Frankfurter Börse 1/5 Deutsche Aktien 05.11.9905.11.99 18:22:0018:22:00 Kassa Vortag AAA......... 6.75 6.75 6.75 … Quelle: vwd >>
Da wir keine Informationen aus der Titelzeile, Ort, Seite … benötigen können wir die Grammatik stark vereinfachen:
Die mehrfachen Leerzeichen interessieren uns
nicht!
Text
Text
Text
Text
Text
Text
Text
Text
Datum
Datum
Uhrzeit
Uhrzeit
Kassa
Kassa
Vortag
Vortag
Seite
Seite
Werte
Werte
Werte
Werte
Text
Text
Text
Text
Werte
Werte
Zeile
Zeile
Zeile
Zeile
Zeile
Zeile
Text
Text
Kommazahl
Kommazahl
Kommazahl
Kommazahl
Kommazahl
Kommazahl
Formale Grammatik für S17
423 ARD/ZDF So 07.11.9907.11.99 16:15:4916:15:49 Frankfurter Börse 1/5 Deutsche Aktien 05.11.9905.11.99 18:22:0018:22:00 Kassa Vortag AAA......... 6.75 6.75 6.75 … Quelle: vwd >>
Da wir keine Informationen aus der Titelzeile, Ort, Seite … benötigen können wir die Grammatik stark vereinfachen:
Was ist „Text“ ?:Beliebige Zeichenketten die nicht mehr als ein Leerzeichen hintereinander besitzen.
Was ist „Text“ ?:Beliebige Zeichenketten die nicht mehr als ein Leerzeichen hintereinander besitzen.
Text
Text
Text
Text
Text
Text
Text
Text
Datum
Datum
Uhrzeit
Uhrzeit
Kassa
Kassa
Vortag
Vortag
Seite
Seite
Werte
Werte
Werte
Werte
Text
Text
Text
Text
Werte
Werte
Zeile
Zeile
Zeile
Zeile
Zeile
Zeile
Text
Text
Kommazahl
Kommazahl
Kommazahl
Kommazahl
Kommazahl
Kommazahl
Entwicklung eines Compilers
18
Wir haben jetzt eine Grammatik GS für unsere Quellsprache S (VT-Daten)
Nun soll ein Compiler erstellt werden da dies recht aufwendig ist, soll das doch
bitte der Rechner selbst tun Wir müssen aber „beschreiben“ wie unsere
Sprachen S und T nun genau aussehen und wie die Übersetzung erfolgen soll.
Hierfür müssen wir zunächst die Arbeitsweise eines Compilers verstehen
Der Scanner19
Zunächst muss der Rechner alle Bausteintypen (Kommazahl, Datum, Text,…) zuordnen.Man spricht von lexikalischer Analyselexikalischer Analyse bei der die Eingabedatei in sogenannte Token zerlegt wird. Verantwortlich für diese Aufgabe ist der ScannerScanner.
Die Tokenliste20
Als Ergebnis liefert der Scanner eine Tokenliste die etwa wie folgt aussehen könnte:
( ("420 ARD/ZDF Mo 08.11.99 15:32:19" , Text) ("Frankfurter Börse", Text) ("6/6", Text) ("Neuer Markt", Text) ("08.11.99", Datum) ("15:15:00", Uhrzeit) ("Kassa", Kassa) ("Vortag", Vortag) ("Teleplan.... ", Text) ("137.10", Kommazahl) ("137.10", Kommazahl) ("137.50", Kommazahl) …)
420 ARD/ZDF Mo 08.11.99 15:32:19 Frankfurter Börse 6/6 Neuer Markt 08.11.99 15:15:00 Kassa Vortag Teleplan.... 137.10 137.10 137.50 Teles....... 32.50 31.90 34.00 TePla....... 12.65 12.90 12.85 ...
Die Tokenliste21
Als Ergebnis liefert der Scanner eine Tokenliste die etwa wie folgt aussehen könnte:
( ("420 ARD/ZDF Mo 08.11.99 15:32:19" , Text) ("Frankfurter Börse", Text) ("6/6", Text) ("Neuer Markt", Text) ("08.11.99", Datum) ("15:15:00", Uhrzeit) ("Kassa", Kassa) ("Vortag", Vortag) ("Teleplan.... ", Text) ("137.10", Kommazahl) ("137.10", Kommazahl) ("137.50", Kommazahl) …) Bausteinkette:Bausteinkette:
Text
Text
Text
Text
Text
Text
Text
Text
Datum
Datum
Uhrzeit
Uhrzeit
Kassa
Kassa
Vortag
Vortag
……
420 ARD/ZDF Mo 08.11.99 15:32:19 Frankfurter Börse 6/6 Neuer Markt 08.11.99 15:15:00 Kassa Vortag Teleplan.... 137.10 137.10 137.50 Teles....... 32.50 31.90 34.00 TePla....... 12.65 12.90 12.85 ...
Der Parser22
Nachdem die Bausteine erkannt wurden, muss entschieden werden, ob sie auch in der richtigen Reihenfolge vorliegen dies steht in unser Grammatik für S
Der ParserParser verwendet die Grammatik und prüft, ob die Elemente der Tokenliste wirklich auf unsere Sprache passen. Der Parser selbst liefert als Ausgabe: true (w S) / false (w S).
Wird durch einen Kellerautomaten beschrieben und weist das typische Akzeptorverhalten auf!
Der Compiler23
Der ST - CompilerCompiler ist das Gesamtprodukt aus Scanner, Parser und Zielcodegenerierung:
Der Compilergenerator
Die Terminale der Grammatik werden im Scannergenerator verwendet um die Token zu definieren.
Die Nichtterminale und Produktionsregeln werden im Parsergenerator verwendet und werden praktisch 1:1 übertragen.
Sehr einfache Produktionsregeln: Zahl Ziffer Zahl | Ziffer werden teilweise bereits im Scanner abgebildet (RegExp)
24
GS
ScannerGenerato
r
Parser Generato
r
NichtterminaleProduktionsregelnTerminale
Der Compilergenerator25
Der Scannergenerator benötigt „Schablonen“ wie eine bestimmter Bausteintyp aussehen soll.
Beispiel Kommazahl mit zwei Nachkommastellen (regulärer Ausdruck):
[0-9]+\.[0-9][0-9]
121.34 0815 0.00 54.0
Der Compilergenerator
Während der Abarbeitung des Parsers (des Automatens) kann bei jeder erfolgreich angewendeten Produktionsregel ein Teilergebnis für die Ausgabe synthetisiert werden.
Die „Übersetzungsaktionen“ im Parsergenerator:
26
GS
Scanner Generato
r
Parser Generato
r
NichtterminaleProduktionsregelnTerminale
GT
Zeile
Zeile
Text
Text
Kommazahl
Kommazahl
Kommazahl
Kommazahl
Kommazahl
Kommazahl
Output.WriteLine ("Aktienname: " + $1);
Automatisierte Compilergenerierung mit VCC
27
Nachdem wir nun wissen wie ein Compiler arbeitet, können wir einen „Compilergenerator“ verwenden.
Ein solches Werkzeug erstellt einen Compiler aus der Grammatik GS und den Übersetzungsaktionen.
Beispiele für Scanner-/Parsergeneratoren: LEX & YACC ANTLR JavaCC VCC (Visual Compiler Compiler)VCC (Visual Compiler Compiler)
Automatisierte Compilergenerierung mit VCC
28
Warum gerade VCC? VCC wurde speziell für didaktische Zwecke
entwickelt. Verlang wenig technisches Hintergrundwissen
um das Werkzeug einzusetzen. Erlaubt die Generierung von Compilern in
mehreren Sprachen (Java, C# .NET, Scheme) Eine Compilerdefinition wird in einer einzigen
XML Datei abgelegt – einfach zu verwalten.
Automatisierte Compilergenerierung mit VCC
29
Übertragen unserer: Bausteinnam
en und Schablonen (Scanner)
Grammatik (Parser)
Automatisierte Compilergenerierung mit VCC
30
Übertragen unserer: Bausteinnam
en und Schablonen (Scanner)
Grammatik (Parser)
Automatisierte Compilergenerierung mit VCC
31
Ausgabe:
Zielstellung war:Eine Liste der Wertpapiere und ihre Entwicklung in Prozent (z.B.: Siemens +2,5%).
Wir fügen eine „Übersetzungsaktion“ als kleines Stück Quelltext in unseren Parser ein:
Automatisierte Compilergenerierung mit VCC
32
Berechnung über Dreisatz:Differenz in %
Ergebnis
Fertiger Compiler nach einem Mausklick S T Compiler als Programmtext in der
gewählten Sprache Übersetzen des ST Compilers in eine
ausführbare Datei
33
Videotext Datei Ausgabe Datei/Console
Ergebnis34
Test des ST Compilers mit einer VT-Datei:
Andere Anwendungsbeispiele
35
// Setting Variables x and yx = 200;y = 200;
// some pattern illustrating// parameters, loops and other featuresProcedure kr(w,l){ [x,y] Kreis; [x,y] in rgb(1,1,0) Sector w/2; For i=w Step w To 359 Do [x,y] <i in blau Sector w/2;
[150+x,y-100] %200 Quadrat; [200+x,y-50] { For i=1 Step 1 To l Do %100/i <i*-20 [0, 50] in rgb(1, i*1/l,0) Quadrat ; }}
// Setting Variables x and yx = 200;y = 200;
// some pattern illustrating// parameters, loops and other featuresProcedure kr(w,l){ [x,y] Kreis; [x,y] in rgb(1,1,0) Sector w/2; For i=w Step w To 359 Do [x,y] <i in blau Sector w/2;
[150+x,y-100] %200 Quadrat; [200+x,y-50] { For i=1 Step 1 To l Do %100/i <i*-20 [0, 50] in rgb(1, i*1/l,0) Quadrat ; }}
KLX: eine durch Studenten entwickelte Programmiersprache die in PDF übersetzt werden kann
Andere Anwendungsbeispiele
36
PL/0 Scheme Compiler DTD VCC Compiler …
Das Entwickeln einer eigener kleinern Programmiersprache ist für Studenten immer eine motivierende und spannende Aufgabe
Vielen Dank für Ihre Aufmerksamkeit
AtoCCAtoCC
besteht aus 5 Komponenten: AutoEdit, AutoEdit Workbook, TDiag, VCC und SchemeEdit.
Weitere Informationen erhalten Sie
unter: www.atocc.de