Inhalte der Vorlesung. 4. Der Scanner-Generator lex. 4. Der Scanner-Generator lex. 4.1 lex: Grundlagen
|
|
- Willi Waltz
- vor 8 Jahren
- Abrufe
Transkript
1 Inhalte der Vorlesung 4. Der Scanner-Generator lex 1.Einführung 2.Lexikalische Analyse 3.Der Textstrom-Editor sed 4.Der Scanner-Generator lex (2 Termine) 5.Syntaxanalyse und der Parser-Generator yacc (3 T.) 6.Syntaxgesteuerte Übersetzung 7.Kontextanalyse 8.Transformation und Code-Erzeugung (?) 9.Übersetzungssteuerung mit make Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 2 4. Der Scanner-Generator lex 4.1 Grundlagen 4.2 Fortgeschrittenes 4.1 lex: Grundlagen Einführung Aufbau einer lex-datei Einfacher Aufruf von flex Basiskonstrukte Weitere nützliche Konstrukte Übung: Einfacher Taschenrechner Der Match-Algorithmus Kommunikation mit einem Parser Übung: Konversion römischer Zahlen Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 3 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 4
2 4.2 lex: Fortgeschrittenes Wiederholung und Festigung Scanner-Zustände, Grundlagen Umlenken der Ein- und Ausgabe Reguläre Ausdrücke, Fortgeschrittenes Scanner-Zustände, Fortgeschrittenes Mehrere Lexer in einem Programm Aufruf und Datei-Optionen von flex flex und andere Lexer Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 5 Lexikalische Analyse position := initial + rate * 60 position := initial + rate * 60 Bezeichner := (Zuweisungssymbol) Bezeichner + Bezeichner * (Addit.- Symbol) (Mult.- Symbol) Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 6 Zahl position initial rate 60 Gruppierung der Eingabezeichen in Lexeme Leerzeichen werden entfernt Zuordnung Lexem Symbol Symbole (Token): Bezeichner, :=, +, *, Zahl,... Symbol hat z.t. Wert als Attribut Varianten von lex lex von AT&T (das Original) diverse kommerzielle Versionen POSIX-Standard für lex flex des Gnu-Projekts fast vollständig POSIX-kompatibel Obermenge von lex/at&t für viele Plattformen 4.1 lex: Grundlagen Einführung Aufbau einer lex-datei Einfacher Aufruf von flex Basiskonstrukte Weitere nützliche Konstrukte Übung: Einfacher Taschenrechner Der Match-Algorithmus Kommunikation mit einem Parser Übung: Konversion römischer Zahlen Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 7 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 8
3 Aufbau einer lex-datei Definitionen Regeln Unterprogramme optional Einsetzen des Benutzernamens Eingabe soll zur Ausgabe kopiert werden aber: <username> aktueller Benutzername Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 9 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 10 Einsetzen des Benutzernamens: Lösung username.l: %{ #include <stdio.h> #include <stdlib.h> % %option main "<username>" printf("%s", getenv("user")); Einfacher Aufruf von flex flex username.l Default-Ausgabedatei: lex.yy.c Option -t : Ausgabe nach StdOut Tipp: make <progname> ohne Makefile erzeugt Executable Regel: vorne Muster, hinten Aktion Default-Regel: druckt aktuelles Zeichen Definitionen: C-Definitionen in %{,% lex-option hinter %option Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 11 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 12
4 wie in C: Kommentare im Regelteil /* bla bla bla bla */ aber: muß eingerückt sein! lex-regeln: niemals eingerückt Aktion muß auf gleicher Zeile beginnen im Definitions- und Unterprogrammteil nicht nötig 4.1 lex: Grundlagen Einführung Aufbau einer lex-datei Einfacher Aufruf von flex Basiskonstrukte Weitere nützliche Konstrukte Übung: Einfacher Taschenrechner Der Match-Algorithmus Kommunikation mit einem Parser Übung: Konversion römischer Zahlen Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 13 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 14 Reguläre Ausdrücke von lex wichtigste Unterschiede zu sed/grep: while : Literale können/sollten in stehen \n Newline: (fast) normales Zeichen [^abc] paßt auch auf Newline ggf. Abhilfe: [^abc\n]. (Punkt) paßt nicht auf Newline kein Backslash vor +,?, {,, (, ) kein \<, \> kein \1, \2,... Aufbau einer Aktion Stück C-Code 1. einzelne C-Anweisung (mit Semikolon) 2. C-Block (in geschweiften Klammern) dann auch über mehrere Zeilen Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 15 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 16
5 Die main()-funktion generiert Beispiel oben %option main im Definitionsteil eigene im Unterprogrammteil wcount.l Wort-Zählprogramm %{ #include <stdio.h> int num_lines = 0, num_chars = 0; % %option noyywrap "\n" { num_lines++; num_chars++;. { num_chars++; int main() { yylex(); printf("%d Zeilen, %d Buchstaben\n", num_lines, num_chars); Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 17 make wcount./wcount < wcount.l zum Vergleich: wc < wcount.l Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen lex: Grundlagen Scanner für eine Pascal-artige Sprache Einführung Aufbau einer lex-datei Einfacher Aufruf von flex Basiskonstrukte Weitere nützliche Konstrukte Übung: Einfacher Taschenrechner Der Match-Algorithmus Kommunikation mit einem Parser Übung: Konversion römischer Zahlen liest Pascal-artiges Programm druckt, was es an Token findet bearbeitet: Strings Zahlen meldet lexikalische Fehler Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 19 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 20
6 Scanner für eine Pascal-artige Sprache: Eingabedatei pcount.txt: procedure foo function bar begin bar = end begin tmp = bar end { Beginn des Hauptprogramms: begin foo; zahl = end Scanner für eine Pascal-artige Sprache: Lösung pcount.l: %{ #include <math.h> #include <stdio.h> % %option main %option noyywrap DIGIT [0-9] ID [a-za-z][a-za-z0-9_]* {DIGIT+ { printf("eine Ganz-Zahl: '%s' (%d)\n", yytext, atoi(yytext)); {DIGIT+"."{DIGIT* { printf("eine Fliesskomma-Zahl: '%s' (%g)\n", yytext, atof(yytext)); "if" "then" "begin" "end" "procedure" "function" "=" ";" { printf("ein Schluesselwort: '%s'\n", yytext); {ID { printf("ein Bezeichner: '%s'\n", yytext); "+" "-" "*" "/" { printf("ein Operator: '%s'\n", yytext); "{"[^\n]*"" /* ueberspringe einzeilige Kommentare */ [ \t\n]+ /* ueberspringe White-Space */. { printf("unbekanntes Zeichen: '%s'\n", yytext); Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 21 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 22 Weitere nützliche Konstrukte Übung: Einfacher Taschenrechner Abkürzungen für reguläre Ausdrücke im Definitionsteil definieren Benutzung: in geschweiften Klammern mehrere Ausdrücke für eine Aktion anstelle einer Aktion Variable yytext aktuelles Token Makro ECHO druckt yytext Eingaben: Fließkommazahl nnnn.nnnn oder nnnn +, -, *, /, C ein Akkumulator Eingabe in Infix, ohne Prioritäten Operator: merken Zahl: Akku Op Zahl Akku Operator C bei Ausführung: Zahl Akku Ausgabe: neuer Akku Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 23 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 24
7 4.1 lex: Grundlagen Einführung Aufbau einer lex-datei Einfacher Aufruf von flex Basiskonstrukte Weitere nützliche Konstrukte Übung: Einfacher Taschenrechner Der Match-Algorithmus Kommunikation mit einem Parser Übung: Konversion römischer Zahlen Der Match-Algorithmus 1. Suche Muster, das auf Präfix der Eingabe paßt mehrere passen: 1) längstes Muster (longest match) 2) erstes Muster (first match) 2. setze yytext auf Text, yyleng auf Länge 3. führe Aktion aus 4. gehe zu 1. Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 25 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 26 Der Match-Algorithmus (2) kein Muster paßt: Default-Regel ein Zeichen paßt das Zeichen wird gedruckt einfachstes flex-programm: %option main Einfachstes flex-programm make trivial./trivial < pcount.txt Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 27 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 28
8 Kommunikation mit einem Parser Unterbrechung der Scan-Schleife: return n; Nummer des Symbols in n weitere Informationen in globalen Variablen (yytext,...) Fortsetzung der Scan-Schleife: yylex(); Symbolnummern in gemeinsamer Header-Datei Kommunikation mit einem Parser: Lösung Pascal -Scanner Pascal -Übersetzergerüst Scanner und Parser(-Gerüst) Parser akzeptiert jede Folge von Token pcomp-scan.l pcomp-parse.c pcomp.tab.h make -f pcomp.mk Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 29 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 30 Kommunikation mit einem Parser: Lösung (2) pcomp-scan.l: %{ #include <math.h> #include <stdio.h> #include "pcomp.tab.h" int yylval_i; double yylval_d; char *yylval_s; % %option noyywrap DIGIT [0-9] ID [a-za-z][a-za-z0-9_]* {DIGIT+ { yylval_i = atoi(yytext); return TOK_INT; {DIGIT+"."{DIGIT* { yylval_d = atof(yytext); return TOK_DOUBLE; "if" return TOK_IF; "then" return TOK_THEN; "begin" return TOK_BEGIN; "end" return TOK_END; "procedure" return TOK_PROCEDURE; "function" return TOK_FUNCTION; "=" return TOK_EQUAL; ";" return TOK_SEMICOLON; {ID { yylval_s = yytext; return TOK_ID; "+" return TOK_PLUS; "-" return TOK_MINUS; "*" return TOK_TIMES; "/" return TOK_DIV; "{"[^\n]*"" /* ueberspringe einzeilige Kommentare */ [ \t\n]+ /* ueberspringe White-Space */. { printf("unbekanntes Zeichen: '%s'\n", yytext); Kommunikation mit einem Parser: Lösung (3) pcomp-parse.c: #include <stdio.h> #include "pcomp.tab.h" extern int yylval_i; extern double yylval_d; extern char *yylval_s; int main() { int tok; /* Dieser (ziemlich sinnlose) Parser akzeptiert *jede* Folge von Token. */ while (tok=yylex()) { switch (tok) { case TOK_INT: printf("eine Ganz-Zahl: %d\n", yylval_i); break; case TOK_DOUBLE: printf("eine Fliesskomma-Zahl: %g\n", yylval_d); break; case TOK_IF: case TOK_THEN: case TOK_BEGIN: case TOK_END: case TOK_PROCEDURE: case TOK_FUNCTION: case TOK_EQUAL: case TOK_SEMICOLON: printf("ein Schluesselwort.\n"); break; case TOK_ID: printf("ein Bezeichner: '%s'\n", yylval_s); break; case TOK_PLUS: case TOK_MINUS: case TOK_TIMES: case TOK_DIV: printf("ein Operator.\n"); break; default: printf("interner Fehler: Unbekanntes Token %d!\n", tok); exit(1); return 0; Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 31 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 32
9 Kommunikation mit einem Parser: Lösung (4) pcomp.tab.h: #define TOK_INT 1 #define TOK_DOUBLE 2 #define TOK_IF 3 #define TOK_THEN 4 #define TOK_BEGIN 5 #define TOK_END 6 #define TOK_PROCEDURE 7 #define TOK_FUNCTION 8 #define TOK_EQUAL 9 #define TOK_SEMICOLON 10 #define TOK_ID 11 #define TOK_PLUS 12 #define TOK_MINUS 13 #define TOK_TIMES 14 #define TOK_DIV 15 Übung: Konversion römischer Zahlen römische Zahlen arabische Zahlen andere Zeichen unverändert römische Zahlen: I, II, III 1, 2, 3 IV 4, V 5 IX 9, X 10, XX 20, XXX 30 XL 40, L 50 XC 90, C 100, CC 200, CCC 300 CD 400, D 500 CM 900, M 1000, MM 2000,... Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 33 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 34 Übung: Konversion römischer Zahlen (2) Übung: Konversion römischer Zahlen (3) Annahmen: nur Großbuchstaben sind römische Zahlen anderer Text nur in Kleinbuchstaben alle römischen Ziffern sind korrekt angeordnet Vorgehen: addiere römische Ziffern zu Akku anderes Zeichen: drucke (ggf.) Akku, 0 Akku CCC soll als ein Lexem erkannt werden, Wert ist yyleng * 100 analog III, XXX und MMMMM Zusatzaufgabe: alle illegalen Folgen von römischen Ziffern sollen zu einer Fehlermeldung führen Ziffern in absteigender Reihenfolge sortiert nie mehr als 3 gleiche Ziffern hintereinander, außer M Hinweise: Fehlerbehandlungsregeln nach normalen Regeln: first match macht das Leben einfacher nach X, XX, XXX oder XL darf keine Ziffer folgen, die den Wert von X oder höher hat nach L darf keine Ziffer folgen, die den Wert von L oder höher hat, und auch nicht XL oder XC Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 35 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 36
10 4. Der Scanner-Generator lex 4.1 Grundlagen 4.2 Fortgeschrittenes Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 37
Inhalte der Vorlesung. 6. Syntaxgesteuerte Übersetzung. 6. Syntaxgesteuerte Übersetzung. Attributierter Syntaxbaum
Inhalte der Vorlesung 6. Syntaxgesteuerte Übersetzung 1.Einführung 2.Lexikalische Analyse 3.Der Textstrom-Editor sed 4.Der Scanner-Generator lex (2 Termine) 5.Syntaxanalyse und der Parser-Generator yacc
Mehr4.2 lex: Fortgeschrittenes. 4.2 lex: Fortgeschrittenes. Aufbau einer lex-datei Definitionen %% Regeln %% Unterprogramme } optional
4.2 lex: Fortgeschrittenes 4.2 lex: Fortgeschrittenes 4.2.1 Wiederholung und Festigung 4.2.2 Scanner-Zustände, Grundlagen 4.2.3 Umlenken der Ein- und Ausgabe 4.2.4 Reguläre Ausdrücke, Fortgeschrittenes
MehrInhalte der Vorlesung. 3. Der Textstrom-Editor sed. 3. Der Textstrom-Editor sed. Grundprinzip eines Textstrom-Editors
Inhalte der Vorlesung 3. Der Textstrom-Editor sed 1.Einführung 2.Lexikalische Analyse 3.Der Textstrom-Editor sed 4.Der Scanner-Generator lex (2 Termine) 5.Syntaxanalyse und der Parser-Generator yacc (3
Mehryacc - eine Einführung
yacc - eine Einführung Axel Kohnert 18th May 2005 Abstract yacc ist ein Unixprogramm, welches die Erstellung einer Programmiersprache unterstützt. Der Benutzer gibt die definierende Grammatik an, und das
Mehr4 Lexikalische Analyse und Parsing
4 Lexikalische Analyse und Parsing Lexikalische Analyse und Parsing sind die wichtigsten Bereiche des Compilerbaus. Prinzipien und Techniken des Compilerbaus beschränken sich nicht auf die Erstellung von
MehrGrundlagen. Kapitel 1
Grundlagen Dieses Kapitel umfasst grundlegende Fragen und Aufgaben zur Erstellung von C++-Programmen. Hierzu zählen auch das Inkludieren von Header-Dateien Eine Header-Datei beinhaltet Informationen, die
MehrKapitel 4. Einführung in den Scannergenerator Flex. Einführung in den Scannergenerator Flex Wintersemester 2008/09 1 / 9
Kapitel 4 Einführung in den Scannergenerator Flex Einführung in den Scannergenerator Flex Wintersemester 2008/09 1 / 9 Generatoren für die lexikalische Analyse Scannergeneratoren werden eingesetzt um die
MehrÜbersicht Programmablaufsteuerung
Übersicht Programmablaufsteuerung Konditionale Verzweigung: if - else switch-anweisung Schleifenkonstrukte: while, do - while for Schleife Sprung-Anweisungen: break, continue, goto, return Anweisungen
MehrObjektbasierte Entwicklung
Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens SS2013 Inhalt Projekt Vorlesung: praktische Implementierung üben Ein und
MehrAllgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>
Allgemeines Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C #include main() { printf( hello world\n ); } Peter Sobe 1 Die Großfamilie der C-Sprachen
MehrÜbungen zu C++ Kapitel 1
Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme
MehrFLEX - Einleitung. Ausführbares Programm lexer. C-Programm lex.yy.c. flex-programm tiger.lex. WS 02/03 Übung Compilerbau Seifert, A.
FLEX - Einleitung flex ist ein Programmgenerator, welches ein C oder C++ Programm erzeugt, dass die lexikalische Analyse eines Eingabestroms durchführt Vorgehensweise: Spezifikation reg. Ausdrücke und
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen
MehrCompilerbau. Übung 2. Prof. Johann-Christoph Freytag Dr. Klaus Ahrens Jörg Bachmann Fabian Fier Dorian Weber. 18. Mai 2016
2 Prof. Johann-Christoph Freytag Dr. Klaus Ahrens Jörg Bachmann Fabian Fier Dorian Weber 18. Mai 2016 Inhalt Wiederholung Compilertechnologie Lexer Flex 2 / 24 Wiederholung Compilertechnologie Architekturschema
MehrDr. Monika Meiler. Inhalt
Inhalt 11 Dynamische Feldvereinbarung... 11-2 11.1 Dynamische Vereinbarung von Vektoren... 11-3 11.2 Dynamische Vereinbarung von Matrizen... 11-5 11.3 Die Kommandozeile... 11-8 Propädeutikum 11-1/8 11
MehrFachseminar WS 2008/09
Fachseminar WS 2008/09 Fachgebiet: Compilerbau Thema: Lexikalische Analyse (Scanner) Referent: Ali Sediq Betreuer: Prof. Dr. Helmut Weber 1 Inhaltsverzeichnis Lexikalische Analyse 1.0 Grundprobleme der
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte
Mehr1 Vom Problem zum Programm
Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren
MehrEinführung in die Programmierung mit C++
1 Seite 1 Einführung in die Programmierung mit C++ Teil IV - Weiterführende Themen 14. Modularisierung und Automatisierung Was heißt Modularisierung? Seite 2 bisher Programm komplett in einer Datei längere
MehrExcel Funktionen durch eigene Funktionen erweitern.
Excel Funktionen durch eigene Funktionen erweitern. Excel bietet eine große Anzahl an Funktionen für viele Anwendungsbereiche an. Doch es kommt hin und wieder vor, dass man die eine oder andere Funktion
MehrConstraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9
Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9 Prof. Dr. W. Conen Version 1.0c Januar 2009 Genereller Ablauf der Suche Gegeben: Variablen X, Domains D, Constraints R (explizit
MehrProgrammieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff
Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind
MehrDatenaustausch@IC RL
Datenaustausch@IC RL SAP cfolders Erste Schritte Erstes Login: Ihre Initial-Zugangsdaten zu SAP cfolders finden Sie im ProjektPortal nach Klick auf den Reiter Projekt SAP cfolders, im Channel SAP cfolders
MehrFakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012
WS 2011/2012 Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 Prof. Dr. Robert Lorenz Musterlösung zur Vorlesung Informatik I, Extrablatt zu komplexen Datenstrukturen Aufgabe 45 **
MehrDLLs (dynamic loaded libraries) mit MingW erstellen
DLLs (dynamic loaded libraries) mit MingW erstellen Autor: Michel D. Schmid Datum: April 2, 2009 Contents 1 Einführung 1 1.1 Open-Source Tools.......................................... 1 2 Beispiel 1:
MehrBenutzerkonto unter Windows 2000
Jeder Benutzer, der an einem Windows 2000 PC arbeiten möchte, braucht dazu ein Benutzerkonto. Je nach Organisation des Netzwerkes, existiert dieses Benutzerkonto auf der lokalen Workstation oder im Active
MehrIngenieurinformatik Diplom-FA (Teil 2, C-Programmierung)
Hochschule München, FK 03 SS 2014 Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung) Zulassung geprüft: (Grundlagenteil) Die Prüfung ist nur dann gültig, wenn Sie die erforderliche Zulassungsvoraussetzung
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrM. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung
M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales
MehrProgrammieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff
Programmieren in C Felder, Schleifen und Fließkommaarithmetik Prof. Dr. Nikolaus Wulff Addition von Zahlen 1 2 3 4 5 #include int main() { int x,y,z,sum; x = 1; y = 2; z = 4; sum = x + y + z;
MehrLeichte-Sprache-Bilder
Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen
MehrFelder, Rückblick Mehrdimensionale Felder. Programmieren in C
Übersicht Felder, Rückblick Mehrdimensionale Felder Rückblick Vereinbarung von Feldern: typ name [anzahl]; typ name = {e1, e2, e3,..., en} Die Adressierung von Feldelementen beginnt bei 0 Die korrekte
MehrGrammatiken in Prolog
12. Grammatiken in Prolog 12-1 Grammatiken in Prolog Allgemeines: Gedacht zur Verarbeitung natürlicher Sprache. Dort braucht man kompliziertere Grammatiken als etwa im Compilerbau, andererseits sind die
MehrFachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer
Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,
MehrAnalysis I für Studierende der Ingenieurwissenschaften
Fachbereich Mathematik der Universität Hamburg WiSe 2015/16 Prof. Dr. M. Hinze Dr. P. Kiani Analysis I für Studierende der Ingenieurwissenschaften Lösungshinweise zu Blatt 2 Aufgabe 1: (12 Punkte) a) Beweisen
MehrBedienungsanleitung. 1. Eine direkte (1 1) Verbindung muss mit einem gekreuzten (Crossover) Netzwerkkabel hergestellt werden.
Bedienungsanleitung Backup/Restore Aufnahmen für die PVR-Set-Top-Box Diese Anleitung beschreibt die mögliche Sicherung für Film, Musik und Bilddateien welche sich auf der Harddisk Ihrer WWZ PVR-Set-Top-Box
MehrProgrammiersprachen und Übersetzer
Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch
MehrTutorium Rechnerorganisation
Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
MehrInformatik 2 Labor 2 Programmieren in MATLAB Georg Richter
Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Aufgabe 3: Konto Um Geldbeträge korrekt zu verwalten, sind zwecks Vermeidung von Rundungsfehlern entweder alle Beträge in Cents umzuwandeln und
MehrAnmeldung eines Tiptel IP-Telefons an einer FritzBox
Anmeldung eines Tiptel IP-Telefons an einer FritzBox tiptel IP 386 tiptel IP 286 tiptel IP 284 tiptel IP 282 tiptel IP 280 tiptel IP 28 XS Aktuelle Informationen und Treiber zu unseren Produkten finden
Mehr1. Formale Sprachen 1.2 Grammatiken formaler Sprachen
1. Formale Sprachen 1.2 Grammatiken formaler Sprachen Die Regeln zur Bildung korrekter Wörter einer Sprache kann man in einer natürlichen Sprache formulieren. Da dies jedoch wieder Mehrdeutigkeiten mit
MehrPraktikum Funktionale Programmierung Teil 1: Lexen und Parsen
Praktikum Funktionale Programmierung Teil 1: Lexen und Parsen Professur für Künstliche Intelligenz und Softwaretechnologie Sommersemester 2009 Überblick Teil 1: Lexen und Parsen Die Sprache LFP +C Professur
MehrHochschule München, FK 03 FA SS 2012. Ingenieurinformatik
Hochschule München, FK 03 FA SS 2012 Ingenieurinformatik Zulassung geprüft vom Aufgabensteller: Teil 1/Aufgabe 1: 30 Minuten ohne Unterlagen, Teil 2/Aufgaben 2-4: 60 Minuten, beliebige eigene Unterlagen
MehrÜbungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen
Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Wiederholungen - while - do-while - for
MehrStellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster
Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.
MehrNeuer Releasestand Finanzbuchhaltung DAM-EDV E.1.22. Inhaltsverzeichnis. 1. Neuerungen Schnittstelle Telebanking mit IBAN und BIC...
Neuer Releasestand Finanzbuchhaltung DAM-EDV E.1.22 Inhaltsverzeichnis 1. Neuerungen Schnittstelle Telebanking mit IBAN und BIC... 2 1a. Programm 257: Auflösen Vorschlag Telebanking... 2 1b. Programm 254:
MehrProgrammierung in C. Grundlagen. Stefan Kallerhoff
Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/
MehrKlausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.
Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert
MehrHinweise zur E-Mail-Nutzung für Studierende
Hinweise zur E-Mail-Nutzung für Studierende Änderung des E-Mail-Passworts 1. Öffnen Sie die Internetseite https://studmail.uni-speyer.de/owa und melden Sie sich mit Ihrem Benutzernamen, das heißt Ihrer
MehrPrüfung Computation, Programming
Prüfung Computation, Programming 1. Computation: Reguläre Ausdrücke [5 Punkte] Zusammenfassung reguläre Ausdrücke a Das Zeichen a. Ein beliebiges Zeichen [abc] Ein beliebiges Zeichen aus der Menge {a,
MehrWeb-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter
Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................
MehrÜbungsblatt 3: Algorithmen in Java & Grammatiken
Humboldt-Universität zu Berlin Grundlagen der Programmierung (Vorlesung von Prof. Bothe) Institut für Informatik WS 15/16 Übungsblatt 3: Algorithmen in Java & Grammatiken Abgabe: bis 9:00 Uhr am 30.11.2015
MehrErstellen eines Formulars
Seite 1 von 5 Word > Erstellen bestimmter Dokumente > Formen Erstellen von Formularen, die in Word ausgefüllt werden können Basierend auf einer Vorlage können Sie dieser Inhaltssteuerelemente und Hinweistext
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen
Grundlagen der Programmierung Prof. H. Mössenböck 3. Verzweigungen If-Anweisung n > 0? j n if (n > 0) x = x / n; ohne else-zweig x x / n j max x x > y? n max y if (x > y) max = x; else max = y; mit else-zweig
MehrVersand Etiketten / Endlosdruck
Versand Etiketten / Endlosdruck Dieser Etikettendruck ist nur der Druck mit einem Matrix-Druckern möglich. Bei dem Drucker muss der automatische Zeilenvorschub ausgeschaltet sein (siehe Druckerhandbuch).
MehrWurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik
Wurzeln als Potenzen mit gebrochenen Exponenten Zur Einstimmung Wir haben die Formel benutzt x m n = x m n nach der eine Exponentialzahl potenziert wird, indem man die Exponenten multipliziert. Dann sollte
MehrEinführung in die C++ Programmierung für Ingenieure
Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF
MehrHochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe
Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten
MehrZählen von Objekten einer bestimmten Klasse
Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --
Mehr4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:
4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie
MehrInhalte der Vorlesung. 6. Syntaxgesteuerte Übersetzung. Attributierter Syntaxbaum. 6. Syntaxgesteuerte Übersetzung
Inhalte der Vorlesung 6. Syntaxgesteuerte Übersetzung 1.Einführung 2.Lexikalische Analyse 3.Der Textstrom-Editor sed 4.Der Scanner-Generator lex 5.Syntaxanalyse und der Parser-Generator yacc 6.Syntaxgesteuerte
MehrHandbuch Fischertechnik-Einzelteiltabelle V3.7.3
Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3
MehrDie Programmiersprache C99: Zusammenfassung
Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach
MehrEinführung in die Programmierung
Name, Vorname Matrikelnummer Probeklausur zur Vorlesung Einführung in die Programmierung WS 2008/09 Dauer: 2 Stunden Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt und
MehrEs sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.
Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt
Mehr188.154 Einführung in die Programmierung für Wirtschaftsinformatik
Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger
MehrErstellen einer digitalen Signatur für Adobe-Formulare
Erstellen einer digitalen Signatur für Adobe-Formulare (Hubert Straub 24.07.13) Die beiden Probleme beim Versenden digitaler Dokumente sind einmal die Prüfung der Authentizität des Absenders (was meist
Mehrlex - Eine Einführung
lex - Eine Einführung Axel Kohnert 9th May 2005 Abstract lex ist ein Unixprogramm, welches die Erstellung eines C-programms für die lexikalische Analyse unterstützt. Dazu kann man Aktionen definieren,
MehrFILE *fp; char fname[100];... fp = fopen (fname, rb ); if( fp == NULL ) { perror( fopen );... } // Fehlernachricht auf letzten Fehler, der aufkam
Aktuelle Fileposition ermitteln long pos; pos=ftell(fp); //aktuelle Bytenummer Filelaenge in Bytes fseek(fp,0,seek_end); pos=ftell(fp); Fileendeerkennung int rc; rc = feof (fp) //!= 0 bei Fileende // ==
MehrWebseitenintegration. Dokumentation. v1.0
Webseitenintegration Dokumentation v1.0 bookingkit Webseitenintegration Einleitung bookingkit ermöglicht es einfach eigene Freizeiterlebnisse und Gutscheine einfach online zu verkaufen. Dazu müssen nur
MehrPraktikum Compilerbau
Implementation eines s 20. April 2005 Vorlesungen Vorlesungen, die nützliche für das Praktikum liefern: Automaten, Formale Sprachen und Berechenbarkeit bau Abstrakte Maschinen Programm-Optimierung Fertigkeiten
Mehrnessbase Projekte Über Projekte I
nessbase Projekte Über Projekte I nessbase Projekte ist eine Erweiterung für nessbase, die es ermöglicht, eine Projekt Verwaltung zu führen. Diese Erweiterung besteht aus der Formular Datei und Externals,
MehrHowTo: Einrichtung & Management von APs mittels des DWC-1000
HowTo: Einrichtung & Management von APs mittels des DWC-1000 [Voraussetzungen] 1. DWC-1000 mit Firmware Version: 4.1.0.2 und höher 2. Kompatibler AP mit aktueller Firmware 4.1.0.8 und höher (DWL-8600AP,
MehrÜbungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder
Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder Hinweise zur Übung Benötigter Vorlesungsstoff Ab diesem Übungskomplex wird die Kenntnis und praktische Beherrschung der Konzepte
MehrGibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr.
ls [optionen] [namen]: ls zeigt den Inhalt von Verzeichnissen. Sind keine namen angegeben, werden die Dateien im aktuellen Verzeichnis aufgelistet. Sind eine oder mehrere namen angegeben, werden entweder
MehrAufgabe 6 Excel 2013 (Fortgeschrittene) Musterlösung
- 1 - Aufgabe 6 Excel 2013 (Fortgeschrittene) Musterlösung 1. Die Tabelle mit den Werten und Gewichten der Gegenstände, sowie die Spalte mit der Anzahl ist vorgegeben und braucht nur eingegeben zu werden
MehrPOP Email-Konto auf iphone mit ios 6 einrichten
POP Email-Konto auf iphone mit ios 6 einrichten Dokumenten-Name POP Email Konto Einrichten auf iphone.doc Version/Datum: Version 1.0, 01.02.2013 Klassifizierung Ersteller Für green.ch AG Kunden Stephan
MehrBerufsakademie Stuttgart, Außenstelle Horb, MI2002
Übungsblatt 1, Scanner für Mini-HTML Ergänzen Sie die JLex-Spezifikation aus der Vorlesung so, dass folgende HTML Lexemklassen , , , , , , , , ,
MehrFragen. f [ ] = [ ] f (x : y : ys) = x y : f ys f (x : xs) = f (x : x : xs) Wozu evaluiert f [1, 2, 3] (Abkürzung für f (1 : 2 : 3 : [ ]))?
Fragen f [ ] = [ ] f (x : y : ys) = x y : f ys f (x : xs) = f (x : x : xs) Wozu evaluiert f [1, 2, 3] (Abkürzung für f (1 : 2 : 3 : [ ]))? Wozu evaluiert [f [ ], f [ ]]? Weiteres Beispiel: f [ ] y = [
MehrMathe-Übersicht INHALTSVERZEICHNIS
S. 1/13 Mathe-Übersicht V. 1.1 2004-2012 by Klaus-G. Coracino, Nachhilfe in Berlin, www.coracino.de Hallo, Mathe-Übersicht Diese Datei enthält verschiedene Themen, deren Überschriften im INHALTSVERZEICHNIS
MehrKlausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten
Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten Vorname: Nachname: Matrikelnummer: Legen Sie zu Beginn Ihren Studentenausweis
MehrE-Banking Kurzanleitung
Diese Kurzanleitung macht Sie auf einfache Weise mit dem E-Banking der Zuger Kantonalbank vertraut. Loginseite öffnen Starten Sie den Internet-Browser und geben Sie www.zugerkb.ch ein. Klicken Sie rechts
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
MehrAufklappelemente anlegen
Aufklappelemente anlegen Dieses Dokument beschreibt die grundsätzliche Erstellung der Aufklappelemente in der mittleren und rechten Spalte. Login Melden Sie sich an der jeweiligen Website an, in dem Sie
MehrAnlegen eines DLRG Accounts
Anlegen eines DLRG Accounts Seite 1 von 6 Auf der Startseite des Internet Service Centers (https:\\dlrg.de) führt der Link DLRG-Account anlegen zu einer Eingabemaske, mit der sich jedes DLRG-Mitglied genau
MehrDie Programmiersprache C
Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,
MehrÜbung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse
Übung 03: Schleifen Abgabetermin: xx.xx.xxxx Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 03.1 12
MehrSimplex-Umformung für Dummies
Simplex-Umformung für Dummies Enthält die Zielfunktion einen negativen Koeffizienten? NEIN Optimale Lösung bereits gefunden JA Finde die Optimale Lösung mit dem Simplex-Verfahren! Wähle die Spalte mit
MehrSchumacher, Chris Druckdatum 01.06.2012 11:11:00
Dokumentenverwaltung Autor Schumacher, Chris Druckdatum 01.06.2012 11:11:00 SMS Login Aktivierung Sie müssen beim ersten Login zwingend einen PIN und eine Secret Answer setzen. Den PIN benötigen Sie bei
MehrStand: 28.11.2012. Adressnummern ändern Modulbeschreibung
Seite 1 Inhalt Allgemein...3 Installation...3 manuelle Eingabe von alten und neuen Adressnummern...4 Vorbereiten von Adressnummern-Änderungen in Tabellen...5 Seite 2 Allgemein Das INKS-Modul ermöglicht
Mehr1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern
1 Einleitung Lernziele Symbolleiste für den Schnellzugriff anpassen Notizenseiten drucken eine Präsentation abwärtskompatibel speichern eine Präsentation auf CD oder USB-Stick speichern Lerndauer 4 Minuten
MehrSoftwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel
Übungen zur Vorlesung Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel Übungsblatt 3 - Lösungshilfe Aufgabe 1. Klassendiagramme (9 Punkte) Sie haben den Auftrag, eine Online-Videothek
Mehr5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu
Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten
Mehr2.11 Kontextfreie Grammatiken und Parsebäume
2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle
MehrKompilieren und Linken
Kapitel 2 Kompilieren und Linken Bevor wir uns auf C++ selbst stürzen, brauchen wir einiges Vorgeplänkel, wie man komfortabel ein größeres C++- kompilieren kann. Mit Java stellt sich der Kompiliervorgang
Mehr