diff --git a/pom.xml b/pom.xml
index f3eccf3..761b6c9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,6 +12,20 @@
UTF-8
+
+
+ atlassian-public
+ https://maven.atlassian.com/content/groups/public/
+
+ fail
+ true
+
+
+ fail
+
+
+
+
@@ -22,6 +36,19 @@
1.6
+
+ com.atlassian.docco
+ atlassian-docco-maven
+ 1.0-beta4
+
+
+ package
+
+ docco
+
+
+
+
diff --git a/src/main/java/parser/Parser.java b/src/main/java/parser/Parser.java
index 65dfbd8..6c5ea79 100644
--- a/src/main/java/parser/Parser.java
+++ b/src/main/java/parser/Parser.java
@@ -1,3 +1,24 @@
+/*!! Parser */
+/*!
+# Parser
+Dieser [rekursiv absteigende Parser](https://de.wikipedia.org/wiki/Rekursiver_Abstieg) versteht sehr einfache While-Programme, die folgender Grammatik in [EBNF](https://de.wikipedia.org/wiki/Erweiterte_Backus-Naur-Form) genügen:
+
+ Prog = Id ":=" Expr |
+ Prog ";" Prog |
+ "if" "(" Expr ")" "then" "{" Prog "}" "else" "{" Prog "}" |
+ "while" "(" Expr ")" "{" Prog "}"
+ Expr = Expr "+" Atom |
+ Expr "-" Atom |
+ Atom
+ Atom = Id | Num | "(" Expr ")"
+
+Dabei kann `Num` direkt zu einer beliebigen ganzen Zahl und `Id` direkt zu einem beliebigen Bezeichner aus den Zeichen
+`a` bis `z` abgeleitet werden.
+
+Der Parser nimmt einen String mit dem Quelltext entgegen und erzeugt daraus ein `Program`.
+*/
+
+/*!- Header */
package parser;
import expression.*;
@@ -8,9 +29,21 @@ import program.*;
import java.util.ArrayList;
import java.util.List;
+/*!
+Die Klasse `Parser` implementiert den Parser. Sie wird verwendet, indem dem Konstruktor der zu parsende Quelltext
+übergeben wird. Anschließend kann die Methide `parse` aufgerufen werden, die das geparste `Program` zurückgibt.
+
+ Parser parser = new Parser("a := 1");
+ Program program = parser.parse();
+*/
public class Parser {
- int position = 0;
+/*!
+Die Instanzvariable `input` hält den zu parsenden Quelltext und in `position` steht die aktuelle Position des Parsers.
+Alle folgenden Methoden betrachten den Quelltext jeweils ab der aktuellen Position und erhöhen diese, wenn Zeichen
+des Quelltextes geparsed wurden.
+*/
+ int position;
String input;
public Parser(String input) {
@@ -18,6 +51,7 @@ public class Parser {
}
public Program parse() {
+ position = 0;
Program program = program();
whitespace();
if (position < input.length()) {