Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
MontysCoconut committed Sep 24, 2014
0 parents commit ebeedf1
Show file tree
Hide file tree
Showing 582 changed files with 22,987 additions and 0 deletions.
48 changes: 48 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
###################
# LATEX
###################
*.aux
*.glo
*.idx
*.log
*.toc
*.ist
*.acn
*.acr
*.alg
*.bbl
*.blg
*.dvi
*.glg
*.gls
*.ilg
*.ind
*.lof
*.lot
*.maf
*.mtc
*.mtc1
*.out
*.synctex.gz
*.brf
*.nav
*.snm
*.vrb

###################
# Java
###################
src/site/markdown/index.md
target/*
.classpath
.project
.settings/
moco.iml
.idea/*

###################
# Editor
###################
*.swp

dependency-reduced-pom.xml
674 changes: 674 additions & 0 deletions COPYING

Large diffs are not rendered by default.

18 changes: 18 additions & 0 deletions COPYING_EXCEPTION
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Linking this program and/or its accompanying libraries statically or
dynamically with other modules is making a combined work based on this
program. Thus, the terms and conditions of the GNU General Public License
cover the whole combination.

As a special exception, the copyright holders of moco give
you permission to link this programm and/or its accompanying libraries
with independent modules to produce an executable, regardless of the
license terms of these independent modules, and to copy and distribute the
resulting executable under terms of your choice, provided that you also meet,
for each linked independent module, the terms and conditions of the
license of that module.

An independent module is a module which is not
derived from or based on this program and/or its accompanying libraries.
If you modify this library, you may extend this exception to your version of
the program or library, but you are not obliged to do so. If you do not wish
to do so, delete this exception statement from your version.
38 changes: 38 additions & 0 deletions COPYING_HEADER
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/*
* moco, the Monty Compiler
* Copyright (c) 2013-2014, Monty's Coconut, All rights reserved.
*
* This file is part of moco, the Monty Compiler.
*
* moco is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
* License as published by the Free Software Foundation; either
* version 3.0 of the License, or (at your option) any later version.
*
* moco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* Linking this program and/or its accompanying libraries statically or
* dynamically with other modules is making a combined work based on this
* program. Thus, the terms and conditions of the GNU General Public License
* cover the whole combination.
*
* As a special exception, the copyright holders of moco give
* you permission to link this programm and/or its accompanying libraries
* with independent modules to produce an executable, regardless of the
* license terms of these independent modules, and to copy and distribute the
* resulting executable under terms of your choice, provided that you also meet,
* for each linked independent module, the terms and conditions of the
* license of that module.
*
* An independent module is a module which is not
* derived from or based on this program and/or its accompanying libraries.
* If you modify this library, you may extend this exception to your version of
* the program or library, but you are not obliged to do so. If you do not wish
* to do so, delete this exception statement from your version.
*
* You should have received a copy of the GNU General Public
* License along with this library.
*/
70 changes: 70 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
Allgemeines
-----------

Dieses Projekt setzt Java in der Version 7 ein. Stellt sicher, dass ihr keine
Features von Java 8 verwendet. Die Referenz ob das Projekt baut und die Tests
laufen sind die Maven-Runs.

Es wird durch Maven automatisch ein Code-Formatter ausgeführt. Bitte
kompiliert also vor dem commiten einmal mit Maven oder konfiguriert eure IDE,
sodass diese den Code entsprechend formatiert.

Zu installierende Software:

- Java 7
- Maven 3 http://maven.apache.org/
- LLVM 3.4 http://llvm.org/
- Graphviz http://www.graphviz.org/

Bei Windows benötigt ihr extra noch:

- ein 32bit JDK
- Visual C++ Redistributable Packages für Visual Studio 2013
http://www.microsoft.com/de-de/download/details.aspx?id=40784

Kompilation und Ausführen
-------------------------

- `mvn package`
Generiert die nötigen ANTLR4 Dateien, kompiliert alle wichtigen Dateien,
führt die Tests aus und baut ein ausführbares JAR
(`target/moco-0.6.jar`).
- `mvn package -Dmaven.test.skip=true`
Führt die Tests nicht aus.
Habt ihr das JAR erstellt, könnt ihr die Main Klasse mit `java -jar
target/moco-0.6.jar` starten.

Maven Reporting
---------------

Maven wurde eingerichtet Reports zu generieren.

`mvn site` erstellt die Dokumentation und generiert Reports unter
[target/site/](project-reports.html). Besonders interessant:

- [JavaDoc](apidocs/index.html)
- [Code Coverage Analysis](cobertura/index.html)

Außerdem gibt es Analysen auf dem Code. Bitte beachtet, dass euer Code nicht
zu viele Einträge in folgenden Reports erzeugt:

- [Checkstyle](checkstyle.html)
- [Findbugs](findbugs.html)

Entwicklungsumgebungen
----------------------

###Eclipse:

- Maven kann mit `mvn eclipse:eclipse` Eclipse Konfiguration generieren.
Ist dies erledigt kann man das Projekt einfach als existierendes Projekt
importieren.
- Es wird ein Code Formatter verwendet. Unter
`src/main/resources/java-code-conv.xml` findet sich ein in Eclipse
importierbares Profil.
- Alternativ:
- m2e in Eclipse installieren: http://download.eclipse.org/technology/m2e/releases
- File -> Import -> Maven -> Existing Maven Projects -> Browse... -> Auf Projekt Zeigen -> Next -> Finish -> OK
- Rechtsklick auf Projekt moco -> Maven -> Update Project Config...
- Ordner "target" -> generated-sources -> Rechtsklick auf "antlr4" -> Build Path -> Use as source Folder
- Run
Loading

0 comments on commit ebeedf1

Please sign in to comment.