Compilerbau mit Phoenix
|
|
- Fritzi Anke Frei
- vor 8 Jahren
- Abrufe
Transkript
1 Übersicht
2 2 Was ist ein Compiler? Frontend Analyse Backend Synthese Compiler-Pässe
3 3 Was ist ein Compiler? Frontend (Eingabesprache) Analyse Backend (Ausgabesprache) Synthese
4 4 Was ist ein Compiler? Frontend (Eingabesprache) Syntaxanalyse (Parser) statische Semantik (well-formedness) "Middle-end" (interne Repräsentation) Transformationen Backend (Ausgabesprache) Codegenerierung
5 Was ist ein Compiler? 2008 Martin v. Löwis Frontend (Eingabesprache) Syntaxanalyse (Parser) statische Semantik (well-formedness) Namensauflösung "Middle-end" (interne Repräsentation) Transformationen: Optimierung (target-unhabhängg) Kontrollflussanalyse Datenflussanalyse Backend (Ausgabesprache) Codegenerierung Optimierung (target-abhängig) Registerallokation peep-hole optimizer spezielle Maschinenbefehle 5
6 Beispiel eines modularen Compilers: GCC 2008 Martin v. Löwis Front-Ends: C, C++, Pascal, Java, (.NET),... Interne Repräsentation 1: tree nodes (abstrakte Syntaxbäume) SSA-Form (Single Static Assignment): GENERIC und GIMPLE Middle-End-Optimierungen: dead code elimination partial redundancy elimination global value numbering sparse conditional constant propagation... Back-Ends: x86, SPARC, PPC, ARM, MIPS,... interne Repräsentation 2: RTL (Register Transfer Language) 6
7 Phoenix 2008 Martin v. Löwis Microsoft-Compiler-Framework,.NET-basiert für Compiler und ähnliche Werkzeuge (zur Programmanalyse, Optimierung, Test) Keine Unterstützung für Parser-Bau, gegenwärtig keine Unterstützung für Backends: Fokus auf "Middle-End) Modulare Architektur verschiedene interne Repräsentation, erweiterbare Architektur für Compilerpässe Beispielanwendungen (Quelle: Phoenix-Dokumentation): Basic Block Analysis Memory Tracing Code coverage Fault injection Ahead-of-time and Just-in-Time compilers Whole-program, post-link, and runtime optimization 7
8 8 Phoenix: Teilfunktionen Readers: CIL, MSIL, COFF,.exe,.pdb Writers: CIL, MSIL, COFF,.exe,.pdb Interne Repräsentationen: HIR, MIR, LIR HIR: unabhängig von Laufzeitsystem MIR: unabhängig von Zielarchitektur LIR: abhängig von Zielarchitektur zusätzlich: Symbole, Funktionen, Flussgraphen,... Pässe: Reader, TypeCheck, BuildCallGraphNodes, DeadStores, StackAllocate, Lower, Writer,...
9 9 Phoenix: Features Alias-Analyse Datenflussanalyse statische Analyse simulationsbasierte Analyse SSA Integration mit MSVC C Compiler (cl.exe)
10 10 Projektarbeit Teams von bis zu 4 Studenten zweiwöchentliche Konsultationen, Abschlussvortrag, Ausarbeitungen Thema jeweils entweder Frontend, Middleend, Backend Front-End: z.b. Java-nach-.NET-Compiler Middle-End: z.b. Whole Program Analysis Back-End: z.b. SPARC-Generator (für C-Compiler)
11 11 Java-Compiler Scanner, Parser: z.b. ANTLR yacc etc. auch möglich, aber: Integration mit C#/Managed C++ statische Semantik/wellformedness? Synthese: Schritt 1: Phoenix HIR Schritt 2: Phoenix macht den Rest?!?
12 Whole-Program-Analysis 2008 Martin v. Löwis Einlesen eines ganzen Programms (Haupt-Assembly, main) Rekursive Erkennung benutzter Teile: Problem: Virtuelle Methodenrufe statisch schwer analysierbar Löschung unbenutzter Klassen und Methoden eventuell auch Löschung sonstigen toten Codes, mit Phoenix-Hilfe Lösung: Löschung ganzer Klassen löscht u.u. auch virtuelle Funktionen; Wiederholung bis zum Fixpunkt Speichern neuer Assemblies evtl: Integration mehrerer Assemblies in eine siehe auch Masterarbeit Florian Wonneberg 12
13 SPARC-Generator 2008 Martin v. Löwis Phoenix: deklarative Backend-Entwicklung Deklaration von Registern, Befehlen, evtl. Funktionseinheiten auf dem Chip (für "instruction scheduling"), etc. bisher nicht öffentlich verfügbar naive Implementierung: sequentielles Traversieren von MIR/LIR Annahme: alle Variablen im Hauptspeicher Registerverwendung nur für einzelne MIR-Befehle Zielsystem: Solaris Calling Conventions Integration in MSC: Phoenix implementiert c2.dll 13
14 14 Literatur Aho, (Lam), Sethi, Ullman: Compilers
Einführung in die Systemprogrammierung
Einführung in die Systemprogrammierung Sprachen und Übersetzer Prof. Dr. Christoph Reichenbach Fachbereich 12 / Institut für Informatik 4. Juni 2015 Sprachen vs. Übersetzer Sprache C11 Übersetzer GNU C
MehrStatic-Single-Assignment-Form
Static-Single-Assignment-Form Compilerbau Static-Single-Assignment-Form 195 Static-Single-Assignment-Form besondere Darstellungsform des Programms (Zwischensprache) vereinfacht Datenflussanalyse und damit
MehrCompilerbau für die Common Language Runtime
für die Common Language Runtime Übersicht Common Language Runtime 2006 Martin v. Löwis Terminologie: CLR, CLI, CLS, CTS,.NET Besser: für die Common Language Infrastructure? mit.net: Formulierung von Compilern
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
MehrDiplomarbeit Antrittsvortrag
Diplomarbeit Antrittsvortrag Christian Müller Run-time byte code compilation, interpretation and optimization for Alice Betreuer: Guido Tack Verantwortlicher Prof.: Gert Smolka Die nächsten 15 Minuten...
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
MehrÜbungen zu Übersetzerbau 2
Übungen zu Übersetzerbau 2 (Ausgewählte Kapitel aus dem Übersetzerbau) Michael Klemm Lehrstuhl für Programmiersysteme Universität Erlangen-Nürnberg 1 Agenda Inhalt der Übungen Web-Forum Scheinvergabe/Hauptdiplomprüfung
MehrEinführung. (Compiler) Prof. Dr. Oliver Braun. Letzte Änderung: :49. Einführung 1/26
Einführung (Compiler) Prof. Dr. Oliver Braun Letzte Änderung: 10.05.2017 15:49 Einführung 1/26 Ein Compiler ist ein Computerprogramm das ein Programm geschrieben in einer Sprache in ein Programm übersetzt
MehrPropädeutikum. Dipl.-Inf. Frank Güttler
Propädeutikum 2015 Vorbereitungskurs Informatikstudium Erfolgreich Studieren Programmieren (C-Kurs) guettler@informatik.uni-leipzig.de Universität Leipzig Institut für Informatik Technische Informatik
MehrCompiler. Einführung. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München. Letzte Änderung:
Compiler Einführung Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 10.05.2017 15:49 Inhaltsverzeichnis Ein Compiler................................... 2 Ein Compiler...................................
MehrCompiler: Einführung
Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 10.05.2017 15:49 Inhaltsverzeichnis Ein Compiler................................... 2 Ein Compiler...................................
MehrWas ist ein Compiler?
Was ist ein Compiler? Was ist ein Compiler und worum geht es? Wie ist ein Compiler aufgebaut? Warum beschäftigen wir uns mit Compilerbau? Wie ist die Veranstaltung organisiert? Was interessiert Sie besonders?
MehrCompiler für Eingebettete Systeme
Compiler für Eingebettete Systeme [CS7506] Sommersemester 2014 Heiko Falk Institut für Eingebettete Systeme/Echtzeitsysteme Ingenieurwissenschaften und Informatik Universität Ulm Kapitel 1 Einordnung &
Mehr360.NET. Jan Schenk Developer Evangelist Web/Live Microsoft Deutschland
360.NET Jan Schenk Developer Evangelist Web/Live Microsoft Deutschland Was ist.net? Eine Strategie Eine Plattform Eine Laufzeitumgebung Eine Software-Sammlung Ein Set von Services Warum so ein Framework?
MehrKapitel 17 Code-Erzeuger und Laufzeitübersetzer
Kapitel 17 Code-Erzeuger und Laufzeitübersetzer Ali Jannessari IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) CIL-Code
MehrEinführung in die Systemprogrammierung
Einführung in die Systemprogrammierung Speedup: Grundlagen der Performanz Prof. Dr. Christoph Reichenbach Fachbereich 12 / Institut für Informatik 30. April 2015 Eine Aufgabe aus der Praxis Gegeben ein
MehrÜbersetzergenerierung mit lex und yacc
Übersetzergenerierung mit lex und yacc 0. Überblick und Organisatorisches Jan Bredereke SoSe 2004, Universität Bremen otivation Übersetzer: Grundlegende Werkzeuge welche Fehler kann er finden? Konstrukt
MehrAnpassung einer freien SSL/TLS Implementierung an die Kertasarie VM
Anpassung einer freien SSL/TLS Implementierung an die Kertasarie VM Aufgabenstellung Praktikum Betreuer: Dipl.-Inf. Christian Meusel christian.meusel@inf.tu-dresden.de Zeitrahmen: Beginn: 5. Juni 2009
MehrSession Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de
s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful
MehrÜbersetzung objektorientierter Programmiersprachen
Bernhard Bauer Riitta Höllerer Übersetzung objektorientierter Programmiersprachen Konzepte, abstrakte Maschinen und Praktikum Java-Compiler" Mit 29 Abbildungen Springer Teil 1: Theorie 1 Einleitung 3 l.
MehrRhapsody in J Modellierung von Echtzeitsystemen
Rhapsody in J Modellierung von Echtzeitsystemen Tobias Schumacher tobe@uni-paderborn.de Rhapsody in J - Modellierung von Echtzeitsystemen p.1/17 Anspruch des Tools Einsatzbereiche/Features Modellierung
MehrÄquivalente Grammatiken / attributierte Grammatik
Äquivalente Grammatiken / attributierte Grammatik Linksfaktorisierung Elimination von Linksrekursion Umwandlung von EBNF in BNF Attributierte Grammatik Semantikfunktionen und Übersetzungsschema Synthetisierte,
Mehrden Einsatz von generierenden Werkzeugen und Theorien und von Software-Engineering-Methoden
U- Übersetzer Vorlesung WS /8 Uwe Kastens Ziele: grundlegende Verfahren der Sprachimplementierung erlernen den Einsatz von generierenden Werkzeugen und von Standardverfahren kennen und schätzen lernen
MehrDefinition von domänenspezifischen Sprachen mit Xtext: Einführung. 19. November 2014
Definition von domänenspezifischen Sprachen mit Xtext: Einführung 19. November 2014 Überblick Was ist zu tun, wenn wir selbst einen Ansatz für modellgetriebenen Entwicklung definieren wollen? Anforderungserfassung
MehrBrainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen
Brainfuck 1 Brainfuck 1.1 Brainfuck Geschichte und Umfeld Brainfuck ist eine sogenannte esoterische Programmiersprache. Sie wurde 1993 vom Schweizer Urban Müller entworfen mit dem Ziel, eine Sprache mit
MehrVersion 0.3. Installation von MinGW und Eclipse CDT
Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.
MehrForschungsprojekt SS 2009
Forschungsprojekt SS 2009 Programmierung verteilter Systeme Institut für Informatik Universität Augsburg 86135 Augsburg Tel.: +49 821 598-2118 Fax: +49 821 598-2175 Web: www.ds-lab.org Gliederung n Ziel
MehrSoftware Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur
MehrQuellcode-Repräsentation in Eclipse. Seminarvortrag PG Reclipse Jan Rieke
Quellcode-Repräsentation in Eclipse Seminarvortrag PG Reclipse Jan Rieke Gliederung Motivation Architektur von Eclipse Quelltext-Repräsentation in Eclipse Java-Modell Java DOM/AST Zusätzliche Konzepte
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin
MehrAutomatisches Parallelisieren
Automatisches Parallelisieren Vorlesung im Wintersemester 2010/11 Eberhard Zehendner FSU Jena Thema: Datenabhängigkeitsanalyse Eberhard Zehendner (FSU Jena) Automatisches Parallelisieren Datenabhängigkeitsanalyse
MehrFassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing
Fassade Objektbasiertes Strukturmuster C. Restorff & M. Rohlfing Übersicht Motivation Anwendbarkeit Struktur Teilnehmer Interaktion Konsequenz Implementierung Beispiel Bekannte Verwendung Verwandte Muster
MehrAbacus Formula Compiler (AFC)
Abacus Formula Compiler (AFC) Alle kennen Excel - jetzt sogar Ihre Java- Applikation! Bringt Tabellenkalkulationen auf die JVM http://formulacompiler.org/ Peter Arrenbrecht für Abacus Research AG http://abacus.ch/
MehrNeues aus dem 52 North WPS Projekt. Benjamin Proß, FOSSGIS, 20.03.2014
Neues aus dem 52 North WPS Projekt Benjamin Proß, FOSSGIS, 20.03.2014 Überblick Aktuelle Entwicklungen im WPS Testing WPS 2.0 Neues aus dem 52 North WPS Projekt 2 Der 52 North WPS Version 3.2.0 Unterstützt
MehrPass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl
Funktionen Zusammenfassung von Befehlssequenzen als aufrufbare/wiederverwendbare Funktionen in einem Programmblock mit festgelegter Schnittstelle (Signatur) Derartige prozedurale Programmierung erlaubt
MehrInternet Explorer Version 6
Internet Explorer Version 6 Java Runtime Ist Java Runtime nicht installiert, öffnet sich ein PopUp-Fenster, welches auf das benötigte Plugin aufmerksam macht. Nach Klicken auf die OK-Taste im PopUp-Fenster
MehrProgrammieren Formulierung eines Algorithmus in einer Programmiersprache
Zum Titel der Vorlesung: Programmieren Formulierung eines in einer Programmiersprache Beschreibung einer Vorgehensweise, wie man zu jedem aus einer Klasse gleichartiger Probleme eine Lösung findet Beispiel:
MehrCompilerbau für die Common Language Run-Time
Compilerbau für die Common Language Run-Time Syntax und Semantik von Programmiersprachen 2 Compilerbau Sprachbeschreibung vs. Implementierung Beschreibung: formale oder informale (engl.) Lexik, Syntax,
MehrModellgetriebene Service-Entwicklung
Modellgetriebene Service-Entwicklung Service-orientierte Architekturen (SOA), Prof. Dr. M. Jäger Johannes Tietje 24. Juni 2010 1 / 13 Motivation konkrete Teile eines Dienstes Rahmenimplementierung der
MehrProgrammiertechnik II
Modultests Ziele Überprüfung der Korrektheit eines Moduls Korrektheit: Übereinstimmung mit (informaler) Spezifikation Modul: kleine testbare Einheit (Funktion, Klasse) Engl.: unit test White box testing
MehrDIE ALCHEMISTEN WAREN GETRIEBEN VON DEM GEDANKEN, AUS STOFFLICHEM GOLD ZU GEWINNEN UND SIND DAMIT GESCHEITERT. TROI IST DER ALCHEMIST DER ZUKUNFT,
DIE ALCHEMISTEN WAREN GETRIEBEN VON DEM GEDANKEN, AUS STOFFLICHEM GOLD ZU GEWINNEN UND SIND DAMIT GESCHEITERT. TROI IST DER ALCHEMIST DER ZUKUNFT, DER VERSTANDEN HAT, DASS GOLD NUR AUS UNSTOFFLICHEM ENTSTEHEN
MehrAusführungszeiten. Worst-Case Execution-Time. Übung zur Vorlesung EZS. Zeitgeber Oszilloskop Diskussion
1 Überblick Ausführungszeiten Übung zur Vorlesung EZS Florian Franzmann Martin Hoffmann Tobias Klaus Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme
MehrLanguage Workbench. Aktuelle Themen der Softwaretechnologie. Vortrag von: Arthur Rehm Steven Cardoso. Betreut von: Prof. Dr.
Language Workbench Vortrag von:! Aktuelle Themen der Softwaretechnologie Arthur Rehm Steven Cardoso Betreut von: Prof. Dr. Reichenbach [1] !2 Index Kontext Domain Specific Language (DSL) Language Workbench
MehrPragmatik von Programmiersprachen
Pragmatik von Programmiersprachen Im Kontext der Notation von Quelltexten Mike Becker, 11. Dezember 2014 Szenario: IT Dienstleister Unternehmen: Produkte: Kunden: IT Dienstleistung Beratung und Software
MehrJava Einführung Programmcode
Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:
MehrEclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007
Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit
MehrC++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet
C++ Grundlagen ++ bedeutet Erweiterung zum Ansi C Standard Hier wird eine Funktion eingeleitet Aufbau: In dieser Datei stehen die Befehle, die gestartet werden, wenn das Programm gestartet wird Int main()
MehrVorstellung SimpliVity. Tristan P. Andres Senior IT Consultant
Vorstellung SimpliVity Tristan P. Andres Senior IT Consultant Agenda Wer ist SimpliVity Was ist SimpliVity Wie funktioniert SimpliVity Vergleiche vsan, vflash Read Cache und SimpliVity Gegründet im Jahr
MehrMikrocontroller Grundlagen. Markus Koch April 2011
Mikrocontroller Grundlagen Markus Koch April 2011 Übersicht Was ist ein Mikrocontroller Aufbau (CPU/RAM/ROM/Takt/Peripherie) Unterschied zum Mikroprozessor Unterschiede der Controllerarten Unterschiede
Mehr.NET Framework. 3. Das.NET Framework
3. Das.NET Framework.NET Framework 3.1 Übersicht - 2002 von Microsoft bereitgestellt - Ziel: Entwicklung von Anwendungen (Windows, Web, Embedded,..) bequemer und sicherer zu machen und bestehenden Code
MehrMathematik für Studierende der Wirtschaftswissenschaften und Gesundheitsökonomie
für Studierende der Wirtschaftswissenschaften und Gesundheitsökonomie Prof. Dr. Maragreta Heilmann Teresa M.Sc. Marco, M.Sc. Bergische Universität Wuppertal Fachbereich C - und Informatik Arbeitsgruppe
MehrInformatik II SS Der Kompilationsprozess (-phasen) Schreiben des Programms. Die Organisation eines typischen Compilers
Der Kompilationsprozess (-phasen) Informatik II SS 2004 Teil 6: Sprachen, Compiler und Theorie 7 Prof. Dr. Dieter Hogrefe Dipl.-Inform. Michael Ebner Lehrstuhl für Telematik Institut für Informatik Scanner
MehrKooperativer Speicher: Schwächen und Gegenmaßnahmen
Kooperativer Speicher: Schwächen und Gegenmaßnahmen Cooperative storage: weaknesses and countermeasures Lutz Behnke 2. Dezember 2005 2005 Lutz Behnke 1 /home/sage/texte/haw/master/seminar/coop_storage_failure.sxi
MehrMartin Stiller, Fakultät Informatik, Institut für Technische Informatik. LLVA: Eine virtuelle Befehlssatzarchitektur
Martin Stiller, Fakultät Informatik, Institut für Technische Informatik LLVA: Eine virtuelle Befehlssatzarchitektur Hauptseminar Technische Informatik, 02.05.2012 Gliederung 1 Virtual Instruction Set Computers
Mehr10 Erweiterung und Portierung
10.1 Überblick In vielen Fällen werden Compiler nicht vollständig neu geschrieben, sondern von einem Rechnersystem auf ein anderes portiert. Das spart viel Arbeit, ist aber immer noch eine sehr anspruchsvolle
MehrVerfügbarkeit von Applikationen und Failover Szenarien. Winfried Wojtenek. wojtenek@mac.com
Verfügbarkeit von Applikationen und Failover Szenarien Winfried Wojtenek wojtenek@mac.com Verfügbarkeit % Tage Stunden Minuten 99.000 3 16 36 99.500 1 20 48 99.900 0 9 46 99.990 0 0 53 99.999 0 0 5 Tabelle
MehrBIF/SWE 1 - Übungsbeispiel
Arthur Zaczek Sep 2015 1 Übungsbeispiel embedded sensor cloud 1.1 Aufgabenstellung Auf einem [[tragen Sie bitte hier Ihr Embedded System Ihrer Wahl ein]] soll ein Messdaten Erfassungssystem implementiert
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
MehrStep by Step Webserver unter Windows Server 2003. von Christian Bartl
Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird
MehrKapitel 10: Datenbankzugriff & Pufferung 2
Kap. 10 Datenbankzugriff und Pufferung 10.1 Datenbankzugriff in ERP-Systemen 10.2 Pufferung auf Anwendungsebene 10.3 Workshop: ABAP-Programmierung in SAP R/3 Open SQL Native SQL Kapitel 10: Datenbankzugriff
MehrFrontDoor/Monitor mehr sehen von FrontDoor
FrontDoor/Monitor mehr sehen von FrontDoor BYTEBAR.EU NEHMEN SIE SICH MEHR HERAUS Haben Sie schon einmal mit Ihrem Laptop direkt den Massenspeicher ausgelesen? FrontDoor/Monitor macht dies noch angenehmer.
MehrDie Nuance-Grammatik und der Grammar Builder
Die Nuance-Grammatik und der Grammar Builder Grobe Gliederung der Präsentation Nuance-Grammatik Operatoren und Rekursion Semantik Kompilation Kommandozeilen-Compiler Nuance Grammar Builder Testen Mit NGB
MehrBeispiel einer Übersetzung
Beispiel einer Übersetzung Ausdruck in C aktuelle_zeit = Startzeit + vergangene_minuten*60 + vergangene_sekunden; Ausdruck im Instruktionssatz des R10000 LW r1,minuten LW r1,sekunden ADDI r2,r0,60 ADD
MehrHaskell auf der Überholspur mit LLVM. Henning Thielemann 2014-06-20
Haskell auf der Überholspur mit LLVM Henning Thielemann 2014-06-20 1 2 Funktionsweise 3 Übungen Motivation 1 Motivation LLVM 2 Funktionsweise 3 Übungen Motivation Motivation Haskell-Programmierer: Was
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
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 --
MehrSome Software Engineering Principles
David L. Parnas: Some Software Engineering Principles Marco Oppel 30.06.2004 Seminar Software-Architektur Institut für Informatik Humboldt Universität zu Berlin 1 Problemstellung Software Engineering Multi-Personen
MehrEntwicklung einer formalen Sprache zur Modelltransformation auf Basis von UML & XMI
Entwicklung einer formalen Sprache zur Modelltransformation auf Basis von UML & XMI Swisstopo-Kolloquium 11.04.2008 TU München, 13. März 2007 Inhalt 1. Anforderungen, Voraussetzungen, Grundlagen 2. Instrumente
MehrEinführung in Generatives Programmieren. Bastian Molkenthin
Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung
Mehr0. Einführung. C und C++ (CPP)
C und C++ (CPP) 0. Einführung Prof. Dr. Marc Rennhard Institut für angewandte Informationstechnologie InIT ZHAW Zürcher Hochschule für Angewandte Wissenschaften marc.rennhard@zhaw.ch Marc Rennhard, 05.01.2010,
MehrAlgorithmen mit Python
Algorithmen mit Python Vorbesprechung zum Proseminar im Sommersemester 2009 http://www.python.org 1 Sie lernen in DAP Java und C/C++: 80% Syntax, 20% Algorithmen-Design Idee Schon ein einfaches Hello World
MehrSUB-ID- VERWALTUNG MIT GPP SETUP-GUIDE FÜR PUBLISHER
SUB-ID- VERWALTUNG MIT GPP SETUP-GUIDE FÜR PUBLISHER INHALTSVERZEICHNIS Inhaltsverzeichnis... 2 Symbolverzeichnis... 3 Was ist GPP?... 4 Parameternamen... 4 Parameterformat und -größe... 4 Unterstützte
MehrPrinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
MehrENTERPRISE 2.0 DER EINSATZ VON ENTERPRISE SOCIAL
ENTERPRISE 2.0 DER EINSATZ VON ENTERPRISE SOCIAL AGENDA Enterprise Social? Was bietet Microsoft? Demo Vergleich der Social Features Fazit und Ausblick 21.11.2013 IOZ AG 2 DIE GROSSEN IT-TRENDS 2014 Mobile
MehrIn diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.
Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem
MehrSAP IT Summit Österreich 21. April 2015 Einsatzplanung im Serviceumfeld mit SAP Multiresource Scheduling
SAP IT Summit Österreich 21. April 2015 Einsatzplanung im Serviceumfeld mit SAP Multiresource Scheduling Miguel von Rotz Solution Manager EMEA Einleitung Multi - Ressourcen Management Teams / Arbeitsplätze
MehrTYPO3 in der Praxis. KuKo Rosenheim. 21. Oktober 2009
TYPO3 in der Praxis KuKo Rosenheim 21. Oktober 2009 18.10.2009 Tina Gasteiger 2 Übersicht TYPO3 Was ist das? Features Aus der Sicht von Redakteuren Aus der Sicht von Administratoren Aus der Sicht von Entwicklern
MehrJan Parthey, Christin Seifert. 22. Mai 2003
Simulation Rekursiver Auto-Assoziativer Speicher (RAAM) durch Erweiterung eines klassischen Backpropagation-Simulators Jan Parthey, Christin Seifert jpar@hrz.tu-chemnitz.de, sech@hrz.tu-chemnitz.de 22.
MehrDie Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter
Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,
MehrSystembeschreibung. Masterplan Kommunikationsinterface. ASEKO GmbH. Version 1.0 Status: Final
Systembeschreibung Masterplan Kommunikationsinterface ASEKO GmbH Version 1.0 Status: Final 0 Inhaltsverzeichnis 1 Einleitung... 2 2 Architektur... 2 2.1 Anbindung an die MKI Lösung... 2 2.2 Inbound Kommunikationsmethoden...
MehrMethoden des Krafttrainings
Methoden des Krafttrainings Arbeitsweise der Muskulatur Wege des Krafttrainings Jean Pierre Egger : Exzentrisches Training Serien Wiederholungen Last (% von 1 RM) 3 5 4-5 120 130% Es wird exzentrische
MehrJava Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung
Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung Ludwig-Maximilians-Universität München Institut für Informatik Programmierung und Softwaretechnik (PST) Prof. Wirsing 6. Mai 2009 1 Der Name Java
MehrOptimierung der Code-Generierung virtualisierender Ausführungsumgebungen zur Erzielung deterministischer Ausführungszeiten
Optimierung der Code-Generierung virtualisierender Ausführungsumgebungen zur Erzielung deterministischer Ausführungszeiten Martin Däumler Matthias Werner Lehrstuhl Betriebssysteme Fakultät für Informatik
MehrJ.6 Programmierung eingebetteter Systeme
Vorteile von C in eingebetteten Systemen: leichter Zugriff auf die Hardware gute Kontrolle über die verwendeten Ressourcen (Speicher, CPU) Probleme mit C: stark eingeschränkte Laufzeitüberprüfungen ISO
MehrSeminar Informationsintegration und Informationsqualität. Dragan Sunjka. 30. Juni 2006
Seminar Informationsintegration und Informationsqualität TU Kaiserslautern 30. Juni 2006 Gliederung Autonomie Verteilung führt zu Autonomie... Intra-Organisation: historisch Inter-Organisation: Internet
MehrObjektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
MehrSystemvoraussetzungen
[Stand: 06.08.2014 Version: 44] Hier erhalten Sie eine Übersicht zu den für alle Software-Produkte von ELO Digital Office GmbH. Inhalt 1 ELOprofessional Server 9... 4 1.1 Windows... 4 1.1.1 Betriebssystem...
MehrNach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht:
Beiträge erstellen in Joomla Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Abbildung 1 - Kontrollzentrum Von hier aus kann man zu verschiedene Einstellungen
MehrVorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick
Vorlesung Objektorientierte Softwareentwicklung Sommersemester este 2008 Kapitel 0. Java-Überblick Was sind die Ziele? Warum Java? Komplexe Anwendungen e-business verteilt zuverlässig sicher mobil persistent
MehrInnere Klassen in Java
Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird
MehrSeite 1. ProSeminar Compilerbau
Seite 1 ProSeminar Compilerbau Seite 2 Was passiert, wenn ihr javac aufruft? In diesem Seminar lernt ihr, wie ein Werkzeug, das ihr jeden Tag verwendet, eigentlich funktioniert. Seite 3 Aufbau des ProSeminars
MehrÜbung 8: Semaphore in Java (eigene Implementierung)
Übung 8: Semaphore in Java (eigene Implementierung) Ziel der Übung: Diese Übung dient dazu, eine eigene Implementierung einer Semaphore-Klasse in der Programmiersprache Java kennenzulernen. Anschließend
MehrGliederung. Programmierparadigmen. Sprachmittel in SCHEME. Objekte: Motivation. Objekte in Scheme
Gliederung Programmierparadigmen D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Einführung Sprachmittel Sommer 2011, 20. Juni 2011,
MehrXEN Virtualisierung und mehr
Virtualisierung und mehr 4. Juni 2006 Übersicht Übersicht Unterstützte Betriebssysteme virtuelle Festplatte virtuelle Netzwerkkarte interessante Setups Simulation von Rechnern im Allgemeinen CPU und Speicher
MehrMAP CellSs Mapprakt3
MAP CellSs Mapprakt3 Andreas Fall, Matthias Ziegler, Mark Duchon Hardware-Software-Co-Design Universität Erlangen-Nürnberg Andreas Fall, Matthias Ziegler, Mark Duchon 1 CellSs Cell CPU (1x PPU + 6x SPU)
MehrJava und Grid Computing
Seminar im WS03/04 Java und Grid Computing Prof. S. Gorlatch Dipl.-Inf. Jan Dünnweber jan.duennweber@math.uni-muenster.de Einsteinstr. 62, Raum 303, Tel. 83-32747 Dipl.-Inf. Jens Müller jens.mueller@math.uni-muenster.de
MehrC# im Vergleich zu Java
C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung
MehrCopyright 2014 Delta Software Technology GmbH. All Rights reserved.
Karlsruhe, 21. Mai 2014 Softwareentwicklung - Modellgetrieben und trotzdem agil Daniela Schilling Delta Software Technology GmbH The Perfect Way to Better Software Modellgetriebene Entwicklung Garant für
MehrInformatik für den Satellitenbau. Toolchains und Crosscompiler
Informatik für den Satellitenbau Toolchains und Crosscompiler Folie 1 Inhalt GNU-Toolchain Crosscompiler Zusammenfassung Folie 2 GNU Toolchain GNU Make GNU Compiler Collection (GCC) GNU Binutils GNU Debugger
Mehr