mirror of
https://github.com/tu-darmstadt-informatik/Tu-Darmstadt-Informatik-Kurse.git
synced 2025-12-13 01:45:49 +00:00
aktualisierung
This commit is contained in:
parent
1cbfc6de92
commit
2b287c2091
BIN
Buecher/DesignPatterns.pdf
Normal file
BIN
Buecher/DesignPatterns.pdf
Normal file
Binary file not shown.
Binary file not shown.
43633
Buecher/How-to-Create-a-Mind-The-Secret-of-Human-Thought-Revealed.pdf
Normal file
43633
Buecher/How-to-Create-a-Mind-The-Secret-of-Human-Thought-Revealed.pdf
Normal file
File diff suppressed because one or more lines are too long
BIN
Buecher/Introduction-to-Artificial-Intelligence.pdf
Normal file
BIN
Buecher/Introduction-to-Artificial-Intelligence.pdf
Normal file
Binary file not shown.
BIN
Buecher/Python-Machine-Learning.pdf
Normal file
BIN
Buecher/Python-Machine-Learning.pdf
Normal file
Binary file not shown.
Binary file not shown.
BIN
Eicb/Uebung/eicb-t3sol.pdf
Normal file
BIN
Eicb/Uebung/eicb-t3sol.pdf
Normal file
Binary file not shown.
BIN
Eicb/labs/3.Praktika/3.Praktika.pdf
Normal file
BIN
Eicb/labs/3.Praktika/3.Praktika.pdf
Normal file
Binary file not shown.
BIN
Eicb/labs/3.Praktika/eicb-p3-2018.1.zip
Normal file
BIN
Eicb/labs/3.Praktika/eicb-p3-2018.1.zip
Normal file
Binary file not shown.
@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="src/main/java"/>
|
||||
<classpathentry kind="src" path="src/test/java"/>
|
||||
<classpathentry kind="output" path="bin/default"/>
|
||||
<classpathentry output="bin/main" kind="src" path="src/main/java">
|
||||
<attributes>
|
||||
<attribute name="gradle_scope" value="main"/>
|
||||
<attribute name="gradle_used_by_scope" value="main,test"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry output="bin/test" kind="src" path="src/test/java">
|
||||
<attributes>
|
||||
<attribute name="gradle_scope" value="test"/>
|
||||
<attribute name="gradle_used_by_scope" value="test"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry output="bin/test" kind="src" path="src/test/testcases">
|
||||
<attributes>
|
||||
<attribute name="gradle_scope" value="test"/>
|
||||
<attribute name="gradle_used_by_scope" value="test"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11/"/>
|
||||
<classpathentry sourcepath="/home/leo/.gradle/caches/modules-2/files-2.1/commons-cli/commons-cli/1.3.1/12ec02d8cb9fbb33bd05506109a4fc8bcc3578/commons-cli-1.3.1-sources.jar" kind="lib" path="/home/leo/.gradle/caches/modules-2/files-2.1/commons-cli/commons-cli/1.3.1/1303efbc4b181e5a58bf2e967dc156a3132b97c0/commons-cli-1.3.1.jar">
|
||||
<attributes>
|
||||
<attribute name="gradle_used_by_scope" value="main,test"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry sourcepath="/home/leo/.gradle/caches/modules-2/files-2.1/com.thoughtworks.xstream/xstream/1.4.9/a9eb7942e1c58d99d53226b13cc21b4b88cb5cab/xstream-1.4.9-sources.jar" kind="lib" path="/home/leo/.gradle/caches/modules-2/files-2.1/com.thoughtworks.xstream/xstream/1.4.9/c43f6e6bfa79b56e04a8898a923c3cf7144dd460/xstream-1.4.9.jar">
|
||||
<attributes>
|
||||
<attribute name="gradle_used_by_scope" value="main,test"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry sourcepath="/home/leo/.gradle/caches/modules-2/files-2.1/org.xmlunit/xmlunit-matchers/2.2.1/f8bc0b06eeca5b27712ae28dba6352ccf58a5cde/xmlunit-matchers-2.2.1-sources.jar" kind="lib" path="/home/leo/.gradle/caches/modules-2/files-2.1/org.xmlunit/xmlunit-matchers/2.2.1/26c2afc03381d88ffa32ef2351c69e8ae90c3a8c/xmlunit-matchers-2.2.1.jar">
|
||||
<attributes>
|
||||
<attribute name="gradle_used_by_scope" value="main,test"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry sourcepath="/home/leo/.gradle/caches/modules-2/files-2.1/org.xmlunit/xmlunit-core/2.2.1/4d73c98f06aa50d1b1627424ff261de3118b2086/xmlunit-core-2.2.1-sources.jar" kind="lib" path="/home/leo/.gradle/caches/modules-2/files-2.1/org.xmlunit/xmlunit-core/2.2.1/1f3c89bdf2800ab830a0b556c883ecf99083460c/xmlunit-core-2.2.1.jar">
|
||||
<attributes>
|
||||
<attribute name="gradle_used_by_scope" value="main,test"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="lib" path="/home/leo/.gradle/caches/modules-2/files-2.1/xmlpull/xmlpull/1.1.3.1/2b8e230d2ab644e4ecaa94db7cdedbc40c805dfa/xmlpull-1.1.3.1.jar">
|
||||
<attributes>
|
||||
<attribute name="gradle_used_by_scope" value="main,test"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry sourcepath="/home/leo/.gradle/caches/modules-2/files-2.1/xpp3/xpp3_min/1.1.4c/fffe25ec1f20ec1cfdc0edd41c6e0d55bc0dbaf5/xpp3_min-1.1.4c-sources.jar" kind="lib" path="/home/leo/.gradle/caches/modules-2/files-2.1/xpp3/xpp3_min/1.1.4c/19d4e90b43059058f6e056f794f0ea4030d60b86/xpp3_min-1.1.4c.jar">
|
||||
<attributes>
|
||||
<attribute name="gradle_used_by_scope" value="main,test"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry sourcepath="/home/leo/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/1dc37250fbc78e23a65a67fbbaf71d2e9cbc3c0b/hamcrest-core-1.3-sources.jar" kind="lib" path="/home/leo/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/42a25dc3219429f0e5d060061f71acb49bf010a0/hamcrest-core-1.3.jar">
|
||||
<attributes>
|
||||
<attribute name="gradle_used_by_scope" value="main,test"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry sourcepath="/home/leo/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/2.4/f2d8698c46d1167ff24b06a840a87d91a02db891/commons-io-2.4-sources.jar" kind="lib" path="/home/leo/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/2.4/b1b6ea3b7e4aa4f492509a4952029cd8e48019ad/commons-io-2.4.jar">
|
||||
<attributes>
|
||||
<attribute name="gradle_used_by_scope" value="test"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry sourcepath="/home/leo/.gradle/caches/modules-2/files-2.1/junit/junit/4.12/a6c32b40bf3d76eca54e3c601e5d1470c86fcdfa/junit-4.12-sources.jar" kind="lib" path="/home/leo/.gradle/caches/modules-2/files-2.1/junit/junit/4.12/2973d150c0dc1fefe998f834810d68f278ea58ec/junit-4.12.jar">
|
||||
<attributes>
|
||||
<attribute name="gradle_used_by_scope" value="test"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
</classpath>
|
||||
1
Eicb/labs/3.Praktika/eicb-p3-2018.1/eicb-p3-2018.1/.gitignore
vendored
Normal file
1
Eicb/labs/3.Praktika/eicb-p3-2018.1/eicb-p3-2018.1/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
/bin/
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,2 @@
|
||||
#Wed Feb 06 12:31:16 CET 2019
|
||||
gradle.version=4.10.2
|
||||
Binary file not shown.
17
Eicb/labs/3.Praktika/eicb-p3-2018.1/eicb-p3-2018.1/.project
Normal file
17
Eicb/labs/3.Praktika/eicb-p3-2018.1/eicb-p3-2018.1/.project
Normal file
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>eicb-p3-2018.1</name>
|
||||
<comment></comment>
|
||||
<projects/>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments/>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<linkedResources/>
|
||||
<filteredResources/>
|
||||
</projectDescription>
|
||||
@ -0,0 +1,2 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding//src/main/java/mavlc/codegen/CodeGeneration.java=UTF-8
|
||||
@ -0,0 +1,13 @@
|
||||
#
|
||||
#Wed Feb 06 12:38:53 CET 2019
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
|
||||
org.eclipse.jdt.core.compiler.source=11
|
||||
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||
org.eclipse.jdt.core.compiler.compliance=11
|
||||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||
File diff suppressed because it is too large
Load Diff
84
Eicb/labs/3.Praktika/eicb-p3-2018.1/eicb-p3-2018.1/HOWTO.md
Normal file
84
Eicb/labs/3.Praktika/eicb-p3-2018.1/eicb-p3-2018.1/HOWTO.md
Normal file
@ -0,0 +1,84 @@
|
||||
# Anleitung für das dritte Praktikum
|
||||
**Einführung in den Compilerbau, Wintersemester 2018/19**
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
* Eine Java-1.8-kompatible virtuelle Maschine.
|
||||
|
||||
## Einrichtung
|
||||
|
||||
Für die **Ersteinrichtung** benötigen Sie eine Internetverbindung.
|
||||
|
||||
Dieses Projekt verwendet [Gradle 4.10](https://docs.gradle.org/4.10.2/userguide/userguide.html) als Buildwerkzeug. Falls Gradle nicht auf Ihrem System verfügbar ist, können Sie die "Gradle Wrapper" genannten Skripte `gradlew` (Linux und macOS) bzw. `gradlew.bat` (Windows) anstelle des hier in der Anleitung verwendeten `gradle`-Befehls verwenden.
|
||||
|
||||
Führen Sie bitte folgendes Kommando aus:
|
||||
|
||||
$ gradle mavlc interpreter
|
||||
|
||||
Falls Sie den Gradle Wrapper benutzen wollen, würden Sie stattdessen folgende Kommandos verwenden:
|
||||
|
||||
$ ./gradlew mavlc interpreter # Linux und macOS
|
||||
$ gradlew.bat mavlc interpreter
|
||||
|
||||
Dies lädt die vom Projekt benötigten Bibliotheken herunter und erstellt im Verzeichnis `build/` die Startskripte `mavlc` (für Linux und macOS) und `mavlc.bat` (für Windows) für den von Ihnen zu entwickelnden MAVL-Compiler, sowie entsprechende Skripte für den MTAM-Interpreter (s.u.).
|
||||
|
||||
Wenn Sie Eclipse zur Entwicklung verwenden möchten, können Sie mittels
|
||||
|
||||
$ gradle eclipse
|
||||
|
||||
ein Eclipse-Projekt erzeugen, welches Sie anschließend in einen beliebigen Eclipse-Workspace importieren können.
|
||||
|
||||
## Entwickeln und Testen
|
||||
|
||||
Während der Entwicklung können Sie die Übersetzung der Quellen mit
|
||||
|
||||
$ gradle classes
|
||||
|
||||
starten. Dies übersetzt nur die geänderten Klassen. Wenn Sie einen komplette Neuübersetzung anstoßen möchten, verwenden Sie:
|
||||
|
||||
$ gradle clean
|
||||
|
||||
Um den Compiler auszuführen, nutzen Sie das zu Ihrem System passende Startskript (hier gezeigt für Linux/macOS, unter Windows verwenden Sie stattdessen `build\mavlc.bat`):
|
||||
|
||||
$ build/mavlc helloworld.mavl
|
||||
|
||||
Dies erzeugt die Datei Datei `a.tam`, die den erzeugten Binärcode erhält. Die Datei können Sie mithilfe des MTAM-Interpreters ausführen (s.u.). Um eine andere Ausgabedatei anzugeben, verwenden Sie die Option `-o`:
|
||||
|
||||
$ build/mavlc -o helloworld.tam helloworld.mavl
|
||||
|
||||
Sie können den AST auch in eine graphische Darstellung im [Graphviz DOT-Format](http://graphviz.org) exportieren:
|
||||
|
||||
$ build/mavlc -dot context helloworld.mavl
|
||||
|
||||
Wenn Sie die Graphviz-Werkzeuge auf Ihrem System installiert haben, können Sie beispielsweise aus der DOT-Datei ein PDF erzeugen:
|
||||
|
||||
$ dot -Tpdf -o helloworld.pdf helloworld_decorated_ast.dot
|
||||
|
||||
Dieses Projekt enthält die öffentliche Testfälle der Praktikumsaufgaben, die Sie mittels
|
||||
|
||||
$ gradle test
|
||||
|
||||
ausführen können. Das Kommando gibt nur eine Zusammenfassung auf die Konsole aus; den detaillierten Testreport finden Sie in der Datei `build/reports/tests/test/index.html`.
|
||||
|
||||
### Interpreter ###
|
||||
|
||||
Um den von Ihrem Compiler erzeugten Binärcode auf der MTAM auszuführen, nutzen Sie das zu Ihrem System passende Startskript (hier gezeigt für Linux/macOS, unter Windows verwenden Sie stattdessen `build\interpreter.bat`):
|
||||
|
||||
$ build/interpreter -i helloworld.tam
|
||||
|
||||
Zum Debuggen Ihres erzeugten Binärcodes verfügt der Interpreter über zusätzliche Debug-Optionen, deren Verwendung und Bedeutung Sie sich mithilfe der `-h`-Option anzeigen lassen können:
|
||||
|
||||
$ build/interpreter -h
|
||||
|
||||
|
||||
## Abgabe
|
||||
|
||||
Mit
|
||||
|
||||
$ gradle prepareSubmission
|
||||
|
||||
erstellen Sie ein Archiv, welches Sie anschließend über den Moodle-Kurs abgeben können.
|
||||
|
||||
## Bekannte Probleme
|
||||
|
||||
* Unter Windows funktioniert das Startskript `mavlc.bat` nicht, wenn der Projektpfad nicht-ASCII-Zeichen (also insbesondere Umlaute) enthält.
|
||||
36
Eicb/labs/3.Praktika/eicb-p3-2018.1/eicb-p3-2018.1/README.md
Normal file
36
Eicb/labs/3.Praktika/eicb-p3-2018.1/eicb-p3-2018.1/README.md
Normal file
@ -0,0 +1,36 @@
|
||||
# mavlc
|
||||
|
||||
`mavlc` is a compiler for the Matrix And Vector Language.
|
||||
|
||||
## Prerequisites, setup and usage
|
||||
|
||||
Refer to the instructions in `HOWTO.md`.
|
||||
|
||||
## License
|
||||
|
||||
Copyright (C) 2016-2018 Embedded Systems and Applications Group
|
||||
Department of Computer Science, Technische Universitaet Darmstadt,
|
||||
Hochschulstr. 10, 64289 Darmstadt, Germany.
|
||||
|
||||
All rights reserved.
|
||||
|
||||
This software is provided free for educational use only.
|
||||
It may not be used for commercial purposes without the
|
||||
prior written permission of the authors.
|
||||
|
||||
Contains a modified version of Watt & Brown's Triangle Abstract Machine (TAM):
|
||||
|
||||
Copyright (C) 1999, 2003 D.A. Watt and D.F. Brown
|
||||
Dept. of Computing Science, University of Glasgow, Glasgow G12 8QQ Scotland
|
||||
and School of Computer and Math Sciences, The Robert Gordon University,
|
||||
St. Andrew Street, Aberdeen AB25 1HG, Scotland.
|
||||
|
||||
## Contributors
|
||||
|
||||
* Gabriel Eckhardt
|
||||
* Robin Kruppe
|
||||
* Sebastian Müller
|
||||
* Julian Oppermann
|
||||
* Lukas Sommer
|
||||
* David Volz
|
||||
* Lukas Weber
|
||||
@ -0,0 +1,43 @@
|
||||
apply plugin: 'java'
|
||||
apply plugin: 'eclipse'
|
||||
|
||||
repositories {
|
||||
jcenter()
|
||||
}
|
||||
|
||||
compileJava.sourceCompatibility = '1.8'
|
||||
|
||||
sourceSets {
|
||||
// Make the testcases directoy the default resources tree for the 'test' source set.
|
||||
test.resources.srcDirs = ['src/test/testcases']
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile 'commons-cli:commons-cli:1.3.1'
|
||||
compile 'com.thoughtworks.xstream:xstream:1.4.9'
|
||||
compile 'org.xmlunit:xmlunit-parent:2.2.1'
|
||||
compile 'org.xmlunit:xmlunit-core:2.2.1'
|
||||
compile 'org.xmlunit:xmlunit-matchers:2.2.1'
|
||||
|
||||
testCompile 'commons-io:commons-io:2.4'
|
||||
testCompile 'junit:junit:4.12'
|
||||
}
|
||||
|
||||
task prepareSubmission(type: Zip) {
|
||||
description = "Prepare your solution for submission via Moodle"
|
||||
baseName = "eicb-p3-submission"
|
||||
|
||||
from(sourceSets.main.java) {
|
||||
include('mavlc/codegen/CodeGeneration.java')
|
||||
|
||||
into('src/main/java')
|
||||
}
|
||||
|
||||
doLast {
|
||||
80.times({print "#"}) ; println()
|
||||
println "Please submit " + destinationDir + File.separator + archiveName + " via Moodle"
|
||||
80.times({print "#"}) ; println()
|
||||
}
|
||||
}
|
||||
|
||||
apply from: 'generateStartScripts.gradle'
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user