INPUT = ./sample.txt #INPUT = ./sample_kurz.txt #INPUT = ./sample_mittel.txt VERIFY = /etc/passwd # Ein Directory für Temporäres, kann jederzeit gelöscht werden TMP = ./tmp MEASURE = /usr/bin/time --format "result: %C | %e | %S | %U | %x | %P" DIFF = diff RM = rm -f CPP = g++ COMPRESS=cd ./output/; ls | grep -v .gz | xargs gzip -9 runall: 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 \ 020 022 023 024 025 026 027 028 029 032 033 034 035 036 037 038 039 040 041 \ 042 043 044 045 046 047 048 052 053 054 055 057 058 059 060 061 062 063 dorun: allclean ulimit -t 120; make -k runall allclean: $(RM) ./output/* $(RM) ./error/* stat: cat error/* | grep "^result" | sed 's/^.*\.\/0/0/;s/\.[^\|]*//' | sort -n -k2 -r # Programm 001 -- angepasst von: Peter 001: $(MEASURE) python ./001.py -a < $(INPUT) > ./output/001.txt 2> ./error/001.txt $(COMPRESS) 001-verify: $(DIFF) ./output/001.txt $(VERIFY) 001-clean: $(RM) ./output/001.txt # Programm 002 -- Perl -- angepasst von: Nils 002: $(MEASURE) ./002.pl < $(INPUT) > ./output/002.txt 2> ./error/002.txt $(COMPRESS) 002-verify: $(DIFF) ./output/002.txt $(VERIFY) 002-clean: $(RM) ./output/002.txt # Programm 003 -- Perl -- angepasst von: Nils 003: $(MEASURE) ./003.pl < $(INPUT) > ./output/003.txt 2> ./error/003.txt $(COMPRESS) 003-verify: $(DIFF) ./output/003.txt $(VERIFY) 003-clean: $(RM) ./output/003.txt # Programm 004 -- Ruby angepasst von: Nils 004: $(MEASURE) ./004.rb $(INPUT) > ./output/004.txt 2> ./error/004.txt $(COMPRESS) 004-verify: $(DIFF) ./output/004.txt $(VERIFY) 004-clean: $(RM) ./output/004.txt # Programm 005 -- Groovy angepasst von: Nils 005: $(MEASURE) groovy ./o005.groovy $(INPUT) > ./output/005.txt 2> ./error/005.txt $(COMPRESS) 005-verify: $(DIFF) ./output/005.txt $(VERIFY) 005-clean: $(RM) ./output/005.txt # Programm 006 -- Tcl -- angepasst von: Nils und Achim 006: $(MEASURE) ./006.tcl $(INPUT) > ./output/006.txt 2> ./error/006.txt $(COMPRESS) 006-verify: $(DIFF) ./output/006.txt $(VERIFY) 006-clean: $(RM) ./output/006.txt # Programm 007 -- Perl -- angepasst von: Nils 007: $(MEASURE) ./007.pl -f $(INPUT) > ./output/007.txt 2> ./error/007.txt $(COMPRESS) 007-verify: $(DIFF) ./output/007.txt $(VERIFY) 007-clean: $(RM) ./output/007.txt # Programm 009 -- Ruby -- angepasst von: Nils 009: $(MEASURE) ruby ./009.rb < $(INPUT) > ./output/009.txt 2> ./error/009.txt $(COMPRESS) 009-verify: $(DIFF) ./output/009.txt $(VERIFY) 009-clean: $(RM) ./output/009.txt # Programm 010 -- Python -- angepasst von: Nils 010: $(MEASURE) ./010.py < $(INPUT) > ./output/010.txt 2> ./error/010.txt 010-verify: $(DIFF) ./output/010.txt $(VERIFY) 010-clean: $(RM) ./output/010.txt # Programm 011 -- Python -- angepasst von: Nils 011: $(MEASURE) ./011.py $(INPUT) > ./output/011.txt 2> ./error/011.txt 011-verify: $(DIFF) ./output/011.txt $(VERIFY) 011-clean: $(RM) ./output/011.txt # Programm 012 -- Python -- angepasst von: Nils 012: $(MEASURE) ./012.py < $(INPUT) > ./output/012.txt 2> ./error/012.txt $(COMPRESS) 012-verify: $(DIFF) ./output/012.txt $(VERIFY) 012-clean: $(RM) ./output/012.txt # Programm 013 -- angepasst von: Nils 013: $(MEASURE) ./013.py < $(INPUT) > ./output/013.txt 2> ./error/013.txt 013-verify: $(DIFF) ./output/013.txt $(VERIFY) 013-clean: $(RM) ./output/013.txt # Programm 014 -- angepasst von: Nils 014: $(MEASURE) ./014.pl $(INPUT) > ./output/014.txt 2> ./error/014.txt 014-verify: $(DIFF) ./output/014.txt $(VERIFY) 014-clean: $(RM) ./output/014.txt # Programm 015 -- Java angepasst von: Nils 015: cp ./015.java ./tmp/FootnoteProcessor.java cd ./tmp; javac FootnoteProcessor.java cd ./tmp; $(MEASURE) java FootnoteProcessor $(INPUT) > ../output/015.txt 2> ../error/015.txt $(COMPRESS) 015-verify: $(DIFF) ./output/015.txt $(VERIFY) 015-clean: $(RM) ./output/015.txt # Programm 016 -- angepasst von Peter 016: $(MEASURE) python ./016.py $(INPUT) > ./output/016.txt 2> ./error/016.txt 016-verify: $(DIFF) ./output/016.txt $(VERIFY) 016-clean: $(RM) ./output/016.txt # Programm 017 -- noch nicht angepasst (bitte entfernen) angepasst von: 017: $(MEASURE) ./017.tcl -t $(INPUT) > ./output/017.txt 2> ./error/017.txt 017-verify: $(DIFF) ./output/017.txt $(VERIFY) 017-clean: $(RM) ./output/017.txt # Programm 018 -- noch nicht angepasst (bitte entfernen) angepasst von: 018: cd ./tmp; unzip -o -q ../018.java-eclipse.zip cd ./tmp/BibOrder/dist; $(MEASURE) java -jar BibOrder.jar $(INPUT) > ../../../output/018.txt 2> ../../../error/018.txt 018-verify: $(DIFF) ./output/018.txt $(VERIFY) 018-clean: $(RM) ./output/018.txt # Programm 020 -- Java angepasst von: Nils 020: cp ./020.java ./tmp/textnumbers.java cd ./tmp; javac textnumbers.java cd ./tmp; $(MEASURE) java textnumbers $(INPUT) > ../output/020-stdout.txt 2> ../error/020.txt && mv *.neu.txt ./output/020.txt $(COMPRESS) 020-verify: $(DIFF) ./output/020.txt $(VERIFY) 020-clean: $(RM) ./output/020.txt # Programm 021 -- noch nicht angepasst (bitte entfernen) angepasst von: Nils # geht aber noch nicht, weil das Tool fest "footnotes.txt" einliest. # das Programm enthält außer der fehlenden Angabe der Codierung auch noch einen Syntaxfehler in Zeile 44, Peter gedenkt es aus der Wertung rauszuschmeißen! 021: $(MEASURE) python ./021.py < $(INPUT) > ./output/021.txt 2> ./error/021.txt 021-verify: $(DIFF) ./output/021.txt $(VERIFY) 021-clean: $(RM) ./output/021.txt # Programm 022 -- angepasst von: Nils 022: $(MEASURE) ./022.py < $(INPUT) > ./output/022.txt 2> ./error/022.txt 022-verify: $(DIFF) ./output/022.txt $(VERIFY) 022-clean: $(RM) ./output/022.txt # Programm 023 -- angepasst von: Nils 023: $(MEASURE) ./023.awk < $(INPUT) > ./output/023.txt 2> ./error/023.txt 023-verify: $(DIFF) ./output/023.txt $(VERIFY) 023-clean: $(RM) ./output/023.txt # Programm 024 -- noch nicht angepasst (bitte entfernen) angepasst von: 024: $(MEASURE) ./024.rb $(INPUT) > ./output/024.txt 2> ./error/024.txt $(COMPRESS) 024-verify: $(DIFF) ./output/024.txt $(VERIFY) 024-clean: $(RM) ./output/024.txt # Programm 025 -- angepasst von: Peter 025: $(MEASURE) python ./025.py $(INPUT) > ./output/025.txt 2> ./error/025.txt 025-verify: $(DIFF) ./output/025.txt $(VERIFY) 025-clean: $(RM) ./output/025.txt # Programm 026 -- angepasst von: Nils 026: $(MEASURE) ./026.rb $(INPUT) > ./output/026.txt 2> ./error/026.txt 026-verify: $(DIFF) ./output/026.txt $(VERIFY) 026-clean: $(RM) ./output/026.txt # Programm 027 -- angepasst von: Peter 027: $(MEASURE) ./027.awk < $(INPUT) > ./output/027.txt 2> ./error/027.txt $(COMPRESS) 027-verify: $(DIFF) ./output/027.txt $(VERIFY) 027-clean: $(RM) ./output/027.txt # Programm 028 -- angepasst von: Peter 028: $(MEASURE) ./028.sh < $(INPUT) > ./output/028.txt 2> ./error/028.txt 028-verify: $(DIFF) ./output/028.txt $(VERIFY) 028-clean: $(RM) ./output/028.txt # Programm 029 -- noch nicht angepasst (bitte entfernen) angepasst von: 029: $(MEASURE) ./029.tcl $(INPUT) > ./output/029.txt 2> ./error/029.txt 029-verify: $(DIFF) ./output/029.txt $(VERIFY) 029-clean: $(RM) ./output/029.txt # Programm 031 -- bricht bei mir mit 3 Compilation-Errors ab: Peter 031: $(MEASURE) ./031.pl < $(INPUT) > ./output/031.txt 2> ./error/031.txt 031-verify: $(DIFF) ./output/031.txt $(VERIFY) 031-clean: $(RM) ./output/031.txt # Programm 032 -- angepasst von: Peter 032: $(MEASURE) python ./032.py $(INPUT) > ./output/032.txt 2> ./error/032.txt $(COMPRESS) 032-verify: $(DIFF) ./output/032.txt $(VERIFY) 032-clean: $(RM) ./output/032.txt # Programm 033 -- angepasst von: Nils 033: $(MEASURE) ./033.pl $(INPUT) > ./output/033.txt 2> ./error/033.txt 033-verify: $(DIFF) ./output/033.txt $(VERIFY) 033-clean: $(RM) ./output/033.txt # Programm 034 -- noch nicht angepasst (bitte entfernen) angepasst von: 034: $(MEASURE) ./034.pl < $(INPUT) > ./output/034.txt 2> ./error/034.txt 034-verify: $(DIFF) ./output/034.txt $(VERIFY) 034-clean: $(RM) ./output/034.txt # Programm 035 -- angepasst von: Peter 035: $(MEASURE) ./035.pl $(INPUT) > ./output/035.txt 2> ./error/035.txt $(COMPRESS) 035-verify: $(DIFF) ./output/035.txt $(VERIFY) 035-clean: $(RM) ./output/035.txt # Programm 036 -- angepasst von: Peter 036: $(MEASURE) ./036.x86 < $(INPUT) > ./output/036.txt 2> ./error/036.txt 036-verify: $(DIFF) ./output/036.txt $(VERIFY) 036-clean: $(RM) ./output/036.txt # Programm 037 -- angepasst von: Nils 037: ghc -o 037.bin -Wall -O2 --make 037.hs $(MEASURE) ./037.bin $(INPUT) > ./output/037.txt 2> ./error/037.txt 037-verify: $(DIFF) ./output/037.txt $(VERIFY) 037-clean: $(RM) ./output/037.txt # Programm 039 -- angepasst von: Peter 039: $(MEASURE) ./039.awk < $(INPUT) > ./output/039.txt 2> ./error/039.txt $(COMPRESS) 039-verify: $(DIFF) ./output/039.txt $(VERIFY) 039-clean: $(RM) ./output/039.txt # Programm 040 -- noch nicht angepasst (bitte entfernen) angepasst von: 040: $(MEASURE) ./040.py $(INPUT) > ./output/040.txt 2> ./error/040.txt 040-verify: $(DIFF) ./output/040.txt $(VERIFY) 040-clean: $(RM) ./output/040.txt # Programm 041 -- angepasst von: Peter 041: $(MEASURE) ./041.pl < $(INPUT) > ./output/041.txt 2> ./error/041.txt 041-verify: $(DIFF) ./output/041.txt $(VERIFY) 041-clean: $(RM) ./output/041.txt # Programm 042 -- angepasst von: Peter und Nils 042: cp ./042.main.cs ./042.class.cs ./tmp cd ./tmp; gmcs ./042.main.cs ./042.class.cs; mv 042.main.exe .. $(MEASURE) mono ./042.main.exe $(INPUT) > ./output/042.txt 2> ./error/042.txt 042-verify: $(DIFF) ./output/042.txt $(VERIFY) 042-clean: $(RM) ./output/042.txt # Programm 045 -- angepasst von: Peter 045: $(MEASURE) ./045.py < $(INPUT) > ./output/045.txt 2> ./error/045.txt 045-verify: $(DIFF) ./output/045.txt $(VERIFY) 045-clean: $(RM) ./output/045.txt # Programm 046 -- angepasst von: Peter 046: $(MEASURE) ./046.py $(INPUT) > ./output/046.txt 2> ./error/046.txt $(COMPRESS) 046-verify: $(DIFF) ./output/046.txt $(VERIFY) 046-clean: $(RM) ./output/046.txt # Programm 047 -- angepasst von: Peter 047: $(MEASURE) ./047.py $(INPUT) > ./output/047.txt 2> ./error/047.txt 047-verify: $(DIFF) ./output/047.txt $(VERIFY) 047-clean: $(RM) ./output/047.txt # Programm 051 -- Java angepasst von: Nils # compiled nicht ... 051: cp ./051.java ./tmp/Indexer.java cd ./tmp; javac Indexer.java cd ./tmp; $(MEASURE) java Indexer ../$(INPUT) > ../output/051.txt 2> ../error/051.txt 051-verify: $(DIFF) ./output/051.txt $(VERIFY) 051-clean: $(RM) ./output/051.txt # Programm 054 -- angepasst von: Peter 054: $(MEASURE) ./054.pl $(INPUT) ./output/054.txt ./output/054b.txt 2> ./error/054.txt 054-verify: $(DIFF) ./output/054.txt $(VERIFY) 054-clean: $(RM) ./output/054.txt # Programm 055 -- angepasst von: Peter 055: $(MEASURE) python ./055.py $(INPUT) > ./output/055.txt 2> ./error/055.txt $(COMPRESS) 055-verify: $(DIFF) ./output/055.txt $(VERIFY) 055-clean: $(RM) ./output/055.txt # Programm 057 -- noch nicht angepasst (bitte entfernen) angepasst von: 057: $(MEASURE) ruby ./057.rb < $(INPUT) > ./output/057.txt 2> ./error/057.txt 057-verify: $(DIFF) ./output/057.txt $(VERIFY) 057-clean: $(RM) ./output/057.txt # Programm 058 -- angepasst von: Nils 058: $(MEASURE) ./058.rb $(INPUT) > ./output/058.txt 2> ./error/058.txt 058-verify: $(DIFF) ./output/058.txt $(VERIFY) 058-clean: $(RM) ./output/058.txt # Programm 059 -- angepasst von: Peter 059: $(MEASURE) ./059.pl $(INPUT) > ./output/059.txt 2> ./error/059.txt $(COMPRESS) 059-verify: $(DIFF) ./output/059.txt $(VERIFY) 059-clean: $(RM) ./output/059.txt # Programm 060 -- angepasst von: Peter 060: $(MEASURE) ./060.pl $(INPUT) > ./output/060.txt 2> ./error/060.txt 060-verify: $(DIFF) ./output/060.txt $(VERIFY) 060-clean: $(RM) ./output/060.txt # Programm 061 -- ngepasst von: Peter 061: $(MEASURE) ./061.pl $(INPUT) > ./output/061.txt 2> ./error/061.txt $(COMPRESS) 061-verify: $(DIFF) ./output/061.txt $(VERIFY) 061-clean: $(RM) ./output/061.txt # Programm 062 -- angepasst von: Peter 062: $(MEASURE) ./062.pl $(INPUT) > ./output/062.txt 2> ./error/062.txt 062-verify: $(DIFF) ./output/062.txt $(VERIFY) 062-clean: $(RM) ./output/062.txt # Programm 063 -- angepasst von: Nils 063: $(MEASURE) ./063.rb $(INPUT) > ./output/063.txt 2> ./error/063.txt $(COMPRESS) 063-verify: $(DIFF) ./output/063.txt $(VERIFY) 063-clean: $(RM) ./output/063.txt # ------------------------------------------ # groovy: 005: # Programm 008 -- angepasst von: Nils 008: $(CPP) -o 008.bin 008.cpp $(MEASURE) ./008.bin $(INPUT) > ./output/008.txt 2> ./error/008.txt $(COMPRESS) 008-verify: $(DIFF) ./output/008.txt $(VERIFY) 008-clean: $(RM) ./output/008.txt # Programm 019 -- angepasst von: Nils 019: $(CPP) -O2 -lpcrecpp 019.cpp -o 019.bin $(MEASURE) ./019.bin $(INPUT) > ./output/019.txt 2> ./error/019.txt 019-verify: $(DIFF) ./output/019.txt $(VERIFY) 019-clean: $(RM) ./output/019.txt # Programm 030 -- angepasst von: Nils # Offenbar braucht man dazu boost-1.35 030: $(CPP) -lboost_filesystem -lboost_program_options -o 030.bin 030.cpp $(MEASURE) ./030.bin $(INPUT) > ./output/030.txt 2> ./error/030.txt $(COMPRESS) 030-verify: $(DIFF) ./output/030.txt $(VERIFY) 030-clean: $(RM) ./output/030.txt # Programm 038 -- angepasst von: Nils 038: $(CPP) -o 038.bin 038.cpp -lboost_regex $(MEASURE) ./038.bin $(INPUT) > ./output/038.txt 2> ./error/038.txt 038-verify: $(DIFF) ./output/038.txt $(VERIFY) 038-clean: $(RM) ./output/038.txt # Programm 043 -- angepasst von: Nils 043: flex -o 043.cpp 043.f $(CPP) -o 043.bin 043.cpp -lstdc++ -lfl $(MEASURE) ./043.bin $(INPUT) > ./output/043.txt 2> ./error/043.txt $(COMPRESS) 043-verify: $(DIFF) ./output/043.txt $(VERIFY) 043-clean: $(RM) ./output/043.txt # Programm 044 -- angepasst von: Nils 044: flex 044.ll && mv ./footnotes.cpp 044.cpp $(CPP) -O2 -pipe -o 044.bin 044.cpp $(MEASURE) ./044.bin < $(INPUT) > ./output/044.txt 2> ./error/044.txt $(COMPRESS) 044-verify: $(DIFF) ./output/044.txt $(VERIFY) 044-clean: $(RM) ./output/044.txt # Programm 048 -- angepasst von: Nils 048: $(CPP) -o 048.bin 048.cpp $(MEASURE) ./048.bin $(INPUT) > ./output/048.txt 2> ./error/048.txt 048-verify: $(DIFF) ./output/048.txt $(VERIFY) 048-clean: $(RM) ./output/048.txt # Programm 050 -- angepasst von: Nils 050: ocamlopt -o ./050.bin str.cmxa 050.ml $(MEASURE) ./050.bin $(INPUT) > ./output/050.txt 2> ./error/050.txt $(COMPRESS) 050-verify: $(DIFF) ./output/050.txt $(VERIFY) 050-clean: $(RM) ./output/050.txt # Programm 052 -- angepasst von: Nils 052: $(CPP) -Wall -O2 -o 052.bin 052.cpp -lboost_regex-mt $(MEASURE) ./052.bin $(INPUT) > ./output/052.txt 2> ./error/052.txt 052-verify: $(DIFF) ./output/052.txt $(VERIFY) 052-clean: $(RM) ./output/052.txt # Programm 053 -- angepasst von: Nils 053: $(CPP) -o 053.bin 053.cpp $(MEASURE) ./053.bin -f $(INPUT) > ./output/053.txt 2> ./error/053.txt $(COMPRESS) 053-verify: $(DIFF) ./output/053.txt $(VERIFY) 053-clean: $(RM) ./output/053.txt