Automata and Formal Languages 2011/12 | ||
News | Dates | Grading | Content | Exercises | Exam | Material | Programming Assignment |
If you have fixed your programming group (you are allowed to work in pairs) write me (jan.kretinsky AT in.tum.de) an email with the subject AFL-SVN and a body containing your names and student-id numbers and I will reply with your login and password for your svn.
You can then checkout your repository by
svn co https://svn.model.in.tum.de/stud/〈login〉 --username 〈login〉 --password 〈password〉
You should upload your final solution to this svn by December 21.
Files input, f1, f2 referred in the assignment.
Another example: files input2, f3, f4, f5. Firstly, f3 recognizes (1,1) and (0,0), thus after negation (1,0) and (0,1). Secondly, f4 recognizes (3,1) and (2,0), thus after the join it is (3,0) and (2,1). Thirdly, f5 recognizes (3,0)---but of length 3, i.e. (011,000)---, thus after the intersection, we are left with (3,0). FInally, the projection yields 3, which is the output.
You may all upload your examples and share them for testing purposes using the following svn repository:
Username: afl-ws1112-stud39 Password: bjAv3hgj
The second part
The task description of the second part is here.Here you can find (compressed in .rar) the following data:
- antlrworks-1.4.jar: a tool available at antlr.org to create grammars and generate parsers out of them
- antlr-3.2.jar: library you need to use the parser
- junit-4.8.2.jar: library for testing
for Java:
- lexer class and parser class
- classes showing how to use the parser and test it on sample formulae
- sample formulae 1 and 2
- the grammar for PA and the list of its tokens
for C++:
- lexer source and header and parser source and header
- classes showing how to use the parser on the sample formulae
- sample formulae 1 and 2
- the grammar for PA and the list of its tokens
Results of the first part
Your programs have so far been tested on the two examples given with the following results. Different problems on input and input2 are separated by a comma ",". The number of points awarded follows after the group number. The maximum is 4.- 1: 0 nothing submitted
- 2: 4 ok
- 3: 4 ok
- 4: 2->3.5 Error1 -> wrong output file and format; ok
- 5: 4 ok, NullPointerException -> ok
- 6: 4 ok
- 7: 4 ok, parsing failed -> ok
- 8: 3.5 wrong I/O files; ok, ArrayIndexOutOfBoundsException -> wrong I/O files; ok
- 9: 4 ok
- 10: 4 ok
- 11: 0 nothing submitted
- 12: 0 NullPointerException
- 13: 4 UnsupportedClass exception -> ok, Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 /* afl2.jar */ -> ok
- 14: 3.5 NullPointerException -> ok except for the quotes problem
- 15: 2 nothing submitted -> wrong output file; empty output -> wrong output file and output format; ok
- 16: 0 nothing submitted -> wrong input files; NullPointerException
- 17: 4 ok, Malformed command -> ok
- 18: 4 ok
- 19: 1.5 no executable and no description.txt -> java.lang.IllegalArgumentException, ok
- 20: 2.5 nothing submitted -> ok
- 21: 2 no executable; wrong output format; ok, Matching failed -> no executable; wrong output format; ok, empty file -> no description file; ok
- 22: 3.5 wrong output file; ok, Value error -> wrong output file; ok
- 23: 0 Union exception, NullPointerException
- 24: 4 ok, NullPointerException -> ok
- 25: 3.5 Unsupported class exception -> Exception in thread "main" java.lang.UnsupportedClassVersionError: FixedLengthLanguages/main : Unsupported major.minor version 51.0 -> ok (but jar does not work) -> ok
- 26: 4 Calculation exception -> ok
- 27: 0 nothing submitted
- 28: 0 no executable and no description.txt
- 29: 1 no executable and no description.txt -> not in executable format: File format not recognized /* after running the compiled file */ -> wrong output file; wrong result, ok
- 30: 4 NoClassDefinitionFound exception ->
java -jar evaluator.jar input /* in your svn folder, your submitted evaluator.jar */
Exception in thread "main" java.lang.NoClassDefFoundError: automata/Evaluator
./build.sh /* compilation in your svn folder */
Could not find a directory for temporary files -> wrong input files -> ok - 31: 3.5 wrong output file; ok, NullPointerException -> wrong output file; ok
- 32: 0 nothing submitted
- 33: 0 nothing submitted
- 34: 3.5 failed to load main class -> ok (mailed solution)
- 35: 4 ok, NullPointerException -> ok
- 36: 4 ok, Error: Expected variable -> ok
- 37: 3.5 no executable and compile error -> ok
- 38: 3 nothing submitted -> ok
- 39: (test cases)
- 40: 2.5 nothing submitted -> ok