Fix #1: Add README, SBT build definition, folders
Merge pull request #2 from soc/issue-001

Add README, SBT build definition, folders
Fix repository name in README.md
Ignore subdirectories specific to IntelliJ IDEA
Merge pull request #6 from jspam/002-ignore-dotidea

Ignore subdirectories specific to IntelliJ IDEA
Add token definitions
Merge pull request #4 from TehMillhouse/master

Add token definitions
Remove token classes for Java operators that are not miniJava operators.

Create a token class UnusedFeature for both UnusedOperator and
UnusedKeyword.
Merge pull request #8 from jspam/004-unused-operators

Remove token classes for Java operators that are not miniJava operators.
Merge pull request #5 from jspam/001-readme-fix

Fix repository name in README.md
Add lexer stub and test for lexing the empty string.
Merge pull request #7 from jspam/003-lexer-test-stub

Add lexer stub and test for lexing the empty string.
Add CLI, sbt-assembly and very basic compiler skeleton

Example of CLI:

    java -jar mjc.jar --verbose --debug --stop-after-phase:"typer" Hello.java
    Error: File /home/soc/Entwicklung/mjis/target/scala-2.11/Hello.java does not exist!

    mjc 0.1
    Usage: java -jar mjc.jar [options] <file>...

      --stop-after-phase <value>
            Run compiler until specified phase
      --verbose
            Print information about what the compiler is doing
      --debug
            Print debug information
      <file>...
            Input files (*.java or *.mj)

Example sbt-assembly:

    > assembly //creates stand-alone mjc.jar
Merge pull request #9 from soc/topic/compiler-cli

Add CLI, sbt-assembly and very basic compiler skeleton
Add AnalysisResult and Finding classes.

The AnalysisResult class is intended to hold the results of the analysis
phases (lexical, syntactic and semantic analysis).

In order to allow for a "pull parser" model where the parser starts
before the lexer has finished, the results and the findings list are
implemented as Streams.

There is a lazy val success that invokes a callback. This callback
should advance the analysis to a point where the success of the phase
can be determined.

The findings are supposed to be subclasses of the abstract Finding
class. They can take parameters and can output a description of the
finding.
Merge pull request #10 from jspam/006-analysis-result

Add AnalysisResult and Finding classes.
Add basic lexer tests.

Test whitespace, operators/keywords, identifiers, integer literals
and some failure cases.

The tests are ignored for now because they would still fail. To make the
tests run, replace "ignore" by "it" in front of the tests.
Remove token class for "import" keyword.

It does not occur in the MiniJava grammar according to the language specification.
Merge pull request #12 from jspam/007-import-unused

Remove token class for "import" keyword.
Merge pull request #11 from jspam/005-lexer-tests

Add basic lexer tests.