Adding the original version from the blog.
This commit is contained in:
parent
2d4623a80a
commit
4200d0a62f
|
@ -4,3 +4,4 @@
|
||||||
*.jar
|
*.jar
|
||||||
*.war
|
*.war
|
||||||
*.ear
|
*.ear
|
||||||
|
/target/
|
34
pom.xml
34
pom.xml
|
@ -11,20 +11,24 @@ http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
<build>
|
<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>
|
<groupId>org.antlr</groupId>
|
||||||
org.apache.maven.plugins
|
<artifactId>antlr3-maven-plugin</artifactId>
|
||||||
</groupId>
|
<version>3.1.3-1</version>
|
||||||
<artifactId>
|
<executions>
|
||||||
maven-compiler-plugin
|
<execution>
|
||||||
</artifactId>
|
<goals>
|
||||||
|
<goal>antlr</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
<version>2.1</version>
|
<version>2.1</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<source>
|
<source>1.5</source>
|
||||||
1.5
|
<target>1.5</target>
|
||||||
</source>
|
|
||||||
<target>
|
|
||||||
1.5
|
|
||||||
</target>
|
|
||||||
<encoding>UTF-8</encoding>
|
<encoding>UTF-8</encoding>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
@ -62,6 +66,12 @@ http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
<artifactId>jline</artifactId>
|
<artifactId>jline</artifactId>
|
||||||
<version>0.9.9</version>
|
<version>0.9.9</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.antlr</groupId>
|
||||||
|
<artifactId>antlr-runtime</artifactId>
|
||||||
|
<version>3.2</version>
|
||||||
|
<type>jar</type>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<repositories>
|
<repositories>
|
||||||
<repository>
|
<repository>
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
// Name der Grammatik
|
||||||
|
grammar b1;
|
||||||
|
|
||||||
|
// einfache, feste Tokens
|
||||||
|
tokens {
|
||||||
|
PLUS = '+' ;
|
||||||
|
MINUS = '-' ;
|
||||||
|
MULT = '*' ;
|
||||||
|
DIV = '/' ;
|
||||||
|
}
|
||||||
|
|
||||||
|
@header {
|
||||||
|
package b1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@lexer::header {
|
||||||
|
package b1;
|
||||||
|
}
|
||||||
|
|
||||||
|
ausdruck:
|
||||||
|
term ( ( PLUS | MINUS ) term )* ;
|
||||||
|
|
||||||
|
term :
|
||||||
|
faktor ( ( MULT | DIV ) faktor )* ;
|
||||||
|
|
||||||
|
faktor :
|
||||||
|
ZAHL ;
|
||||||
|
|
||||||
|
ZAHL :
|
||||||
|
(DIGIT)+ ;
|
||||||
|
|
||||||
|
WHITESPACE :
|
||||||
|
( '\t' | ' ' | '\r' | '\n'| '\u000C' )+
|
||||||
|
{ $channel = HIDDEN; } ;
|
||||||
|
|
||||||
|
fragment DIGIT :
|
||||||
|
'0'..'9' ;
|
|
@ -0,0 +1,23 @@
|
||||||
|
package b1;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.PrintWriter;
|
||||||
|
import jline.ConsoleReader;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
|
||||||
|
public static void main(String[] args) throws IOException {
|
||||||
|
ConsoleReader reader = new ConsoleReader();
|
||||||
|
String line;
|
||||||
|
PrintWriter out = new PrintWriter(System.out);
|
||||||
|
while ((line = reader.readLine("number or quit> ")) != null) {
|
||||||
|
if (line.equalsIgnoreCase("quit")) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
int i = Integer.parseInt(line);
|
||||||
|
System.out.println(
|
||||||
|
Math.square(i) + " ist " + i + " quadriert");
|
||||||
|
out.flush();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
package b1;
|
||||||
|
|
||||||
|
public class Math {
|
||||||
|
|
||||||
|
public static int square(int a) {
|
||||||
|
return a * a;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
package b1;
|
||||||
|
|
||||||
|
import org.junit.Assert;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
public class MathTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSqure() {
|
||||||
|
Assert.assertEquals(16, Math.square(4));
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue