Przeglądaj źródła

Clean-up char frontend.

Timur Sağlam 4 lat temu
rodzic
commit
ef6d99f1e8

+ 27 - 21
jplag.frontend.chars/src/main/java/de/jplag/chars/CharToken.java

@@ -3,30 +3,36 @@ package de.jplag.chars;
 import de.jplag.Token;
 
 public class CharToken extends Token {
-	private static final long serialVersionUID = 1L;
+    private static final long serialVersionUID = 1L;
 
-	private int index;
+    private int index;
 
-	public CharToken(int type, String file, int index, Parser parser) {
-		super(type, file, -1);
-		this.index = index;
-	}
+    public CharToken(int type, String file, int index, Parser parser) {
+        super(type, file, -1);
+        this.index = index;
+    }
 
-	public CharToken(int type, String file, Parser parser) {
-		this(type, file, -1, parser);
-	}
+    public CharToken(int type, String file, Parser parser) {
+        this(type, file, -1, parser);
+    }
 
-	@Override
+    @Override
     public int getLine() {
-		return index; // so that the result-index is sorted correctly
-	}
-
-	@Override
-    public int getColumn() { return 0; }
-
-	@Override
-    public int getLength() { return 0; }
-
-	@Override
-    public int getIndex() { return index; }
+        return index; // so that the result-index is sorted correctly
+    }
+
+    @Override
+    public int getColumn() {
+        return 0;
+    }
+
+    @Override
+    public int getLength() {
+        return 0;
+    }
+
+    @Override
+    public int getIndex() {
+        return index;
+    }
 }

+ 44 - 49
jplag.frontend.chars/src/main/java/de/jplag/chars/Language.java

@@ -10,78 +10,73 @@ import de.jplag.TokenList;
  * read in text files as characters
  */
 public class Language implements de.jplag.Language {
-	private ErrorConsumer program;
+    private ErrorConsumer program;
 
-	private de.jplag.chars.Parser parser = new Parser();
+    private de.jplag.chars.Parser parser = new Parser();
 
-	public Language(ErrorConsumer program) {
-		this.program = program;
-		this.parser.setProgram(this.program);
-	}
+    public Language(ErrorConsumer program) {
+        this.program = program;
+        this.parser.setProgram(this.program);
+    }
 
-	@Override
+    @Override
     public String[] suffixes() {
-		String[] res = { ".TXT", ".txt", ".ASC", ".asc", ".TEX", ".tex" };
-		return res;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see de.jplag.Language#errorsCount()
-	 */
-	@Override
+        String[] res = {".TXT", ".txt", ".ASC", ".asc", ".TEX", ".tex"};
+        return res;
+    }
+
+    @Override
     public int errorCount() {
-		return this.parser.errorsCount();
-	}
+        return this.parser.errorsCount();
+    }
 
-	@Override
+    @Override
     public String getName() {
-		return "Character AbstractParser";
-	}
+        return "Character AbstractParser";
+    }
 
-	@Override
+    @Override
     public String getShortName() {
-		return "char";
-	}
+        return "char";
+    }
 
-	@Override
+    @Override
     public int minimumTokenMatch() {
-		return 10;
-	}
+        return 10;
+    }
 
-	@Override
+    @Override
     public TokenList parse(File dir, String[] files) {
-		return this.parser.parse(dir, files);
-	}
+        return this.parser.parse(dir, files);
+    }
 
-	@Override
+    @Override
     public boolean hasErrors() {
-		return this.parser.hasErrors();
-	}
+        return this.parser.hasErrors();
+    }
 
-	@Override
+    @Override
     public boolean supportsColumns() {
-		return false;
-	}
+        return false;
+    }
 
-	@Override
+    @Override
     public boolean isPreformatted() {
-		return false;
-	}
+        return false;
+    }
 
-	@Override
+    @Override
     public boolean usesIndex() {
-		return true;
-	}
+        return true;
+    }
 
-	@Override
+    @Override
     public int numberOfTokens() {
-		return 36;
-	}
+        return 36;
+    }
 
-	@Override
+    @Override
     public String type2string(int type) {
-		return Token.type2string(type);
-	}
+        return Token.type2string(type);
+    }
 }

+ 170 - 172
jplag.frontend.chars/src/main/java/de/jplag/chars/Parser.java

@@ -10,184 +10,182 @@ import de.jplag.TokenList;
 
 public class Parser extends AbstractParser implements TokenConstants {
 
-	private TokenList struct;
+    private TokenList struct;
 
-	public TokenList parse(File dir, String files[]) {
-		struct = new TokenList();
-		errors = 0;
-		for (int i = 0; i < files.length; i++) {
-			getErrorConsumer().print(null, "Parsing file " + files[i]);
-			if (!parseFile(dir, files[i]))
-				errors++;
-			struct.addToken(new CharToken(FILE_END, files[i], this));
-		}
-		if (errors == 0)
-			errorConsumer.print(null, "OK");
-		else
-			errorConsumer.print(null, errors + " ERROR" + (errors > 1 ? "S" : ""));
+    public TokenList parse(File dir, String files[]) {
+        struct = new TokenList();
+        errors = 0;
+        for (String file : files) {
+            getErrorConsumer().print(null, "Parsing file " + file);
+            if (!parseFile(dir, file))
+                errors++;
+            struct.addToken(new CharToken(FILE_END, file, this));
+        }
+        if (errors == 0)
+            errorConsumer.print(null, "OK");
+        else
+            errorConsumer.print(null, errors + " ERROR" + (errors > 1 ? "S" : ""));
 
-		this.parseEnd();
-		return struct;
-	}
+        this.parseEnd();
+        return struct;
+    }
 
-	private boolean parseFile(File dir, String file) {
-		char[] buffer = new char[4096];
-		int type;
-		int length;
-		int offset = 0;
+    private boolean parseFile(File dir, String file) {
+        char[] buffer = new char[4096];
+        int type;
+        int length;
+        int offset = 0;
 
-		try {
-			FileReader fis = new FileReader(new File(dir, file), StandardCharsets.UTF_8);
+        try {
+            FileReader reader = new FileReader(new File(dir, file), StandardCharsets.UTF_8);
 
-			do {
-				length = fis.read(buffer);
+            do {
+                length = reader.read(buffer);
 
-				for (int i = 0; i < length; i++) {
-					if (buffer[i] <= 127 && (type = mapping[buffer[i]]) > 1) {
-						struct.addToken(new CharToken(type, file, offset + i,
-								this));
-					}
-					//System.out.print(buffer[i]);
-				}
-				offset += length;
-			} while (length != -1);
+                for (int i = 0; i < length; i++) {
+                    if (buffer[i] <= 127 && (type = mapping[buffer[i]]) > 1) {
+                        struct.addToken(new CharToken(type, file, offset + i, this));
+                    }
+                }
+                offset += length;
+            } while (length != -1);
 
-			// close file
-			fis.close();
-		} catch (Exception e) {
-			e.printStackTrace();
-			return false;
-		}
-		return true;
-	}
+            // close file
+            reader.close();
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+        return true;
+    }
 
-	private int[] mapping = { -1, //   0 (nul)
-			-1, //   1 (soh)
-			-1, //   2 (stx)
-			-1, //   3 (etx)
-			-1, //   4 (eot)
-			-1, //   5 (enq)
-			-1, //   6 (ack)
-			-1, //   7 (bel)
-			-1, //   8 (bs)
-			-1, //   9 (ht)
-			-1, //  10 (nl)
-			-1, //  11 (vt)
-			-1, //  12 (np)
-			-1, //  13 (cr)
-			-1, //  14 (so)
-			-1, //  15 (si)
-			-1, //  16 (dle)
-			-1, //  17 (dc1)
-			-1, //  18 (dc2)
-			-1, //  19 (dc3)
-			-1, //  20 (dc4)
-			-1, //  21 (nak)
-			-1, //  22 (syn)
-			-1, //  23 (etb)
-			-1, //  24 (can)
-			-1, //  25 (em)
-			-1, //  26 (sub)
-			-1, //  27 (esc)
-			-1, //  28 (fs)
-			-1, //  29 (gs)
-			-1, //  30 (rs)
-			-1, //  31 (us)
-			-1, //  32 (sp)
-			-1, //  33 !
-			-1, //  34 "
-			-1, //  35 #
-			-1, //  36 $
-			-1, //  37 %
-			-1, //  38 &
-			-1, //  39 '
-			-1, //  40 (
-			-1, //  41 )
-			-1, //  42 *
-			-1, //  43 +
-			-1, //  44 ,
-			-1, //  45 -
-			-1, //  46 .
-			-1, //  47 /
-			27, //  48 0
-			28, //  49 1
-			29, //  50 2
-			30, //  51 3
-			31, //  52 4
-			32, //  53 5
-			33, //  54 6
-			34, //  55 7
-			35, //  56 8
-			36, //  57 9
-			-1, //  58 :
-			-1, //  59 ;
-			-1, //  60 <
-			-1, //  61 =
-			-1, //  62 >
-			-1, //  63 ?
-			-1, //  64 @
-			2, //  65 A
-			3, //  66 B
-			4, //  67 C
-			5, //  68 D
-			6, //  69 E
-			7, //  70 F
-			8, //  71 G
-			9, //  72 H
-			10, //  73 I
-			11, //  74 J
-			12, //  75 K
-			13, //  76 L
-			14, //  77 M
-			15, //  78 N
-			16, //  79 O
-			17, //  80 P
-			18, //  81 Q
-			19, //  82 R
-			20, //  83 S
-			21, //  84 T
-			22, //  85 U
-			23, //  86 V
-			24, //  87 W
-			25, //  88 X
-			26, //  89 Y
-			27, //  90 Z
-			-1, //  91 [
-			-1, //  92 \
-			-1, //  93 ]
-			-1, //  94 ^
-			-1, //  95 _
-			-1, //  96 `
-			2, //  97 a
-			3, //  98 b
-			4, //  99 c
-			5, // 100 d
-			6, // 101 e
-			7, // 102 f
-			8, // 103 g
-			9, // 104 h
-			10, // 105 i
-			11, // 106 j
-			12, // 107 k
-			13, // 108 l
-			14, // 109 m
-			15, // 110 n
-			16, // 111 o
-			17, // 112 p
-			18, // 113 q
-			19, // 114 r
-			20, // 115 s
-			21, // 116 t
-			22, // 117 u
-			23, // 118 v
-			24, // 119 w
-			25, // 120 x
-			26, // 121 y
-			27, // 122 z
-			-1, // 123 {
-			-1, // 124 |
-			-1, // 125 }
-			-1, // 126 ~
-			-1, // 127 (del)
-	};
+    private int[] mapping = {-1, // 0 (nul)
+            -1, // 1 (soh)
+            -1, // 2 (stx)
+            -1, // 3 (etx)
+            -1, // 4 (eot)
+            -1, // 5 (enq)
+            -1, // 6 (ack)
+            -1, // 7 (bel)
+            -1, // 8 (bs)
+            -1, // 9 (ht)
+            -1, // 10 (nl)
+            -1, // 11 (vt)
+            -1, // 12 (np)
+            -1, // 13 (cr)
+            -1, // 14 (so)
+            -1, // 15 (si)
+            -1, // 16 (dle)
+            -1, // 17 (dc1)
+            -1, // 18 (dc2)
+            -1, // 19 (dc3)
+            -1, // 20 (dc4)
+            -1, // 21 (nak)
+            -1, // 22 (syn)
+            -1, // 23 (etb)
+            -1, // 24 (can)
+            -1, // 25 (em)
+            -1, // 26 (sub)
+            -1, // 27 (esc)
+            -1, // 28 (fs)
+            -1, // 29 (gs)
+            -1, // 30 (rs)
+            -1, // 31 (us)
+            -1, // 32 (sp)
+            -1, // 33 !
+            -1, // 34 "
+            -1, // 35 #
+            -1, // 36 $
+            -1, // 37 %
+            -1, // 38 &
+            -1, // 39 '
+            -1, // 40 (
+            -1, // 41 )
+            -1, // 42 *
+            -1, // 43 +
+            -1, // 44 ,
+            -1, // 45 -
+            -1, // 46 .
+            -1, // 47 /
+            27, // 48 0
+            28, // 49 1
+            29, // 50 2
+            30, // 51 3
+            31, // 52 4
+            32, // 53 5
+            33, // 54 6
+            34, // 55 7
+            35, // 56 8
+            36, // 57 9
+            -1, // 58 :
+            -1, // 59 ;
+            -1, // 60 <
+            -1, // 61 =
+            -1, // 62 >
+            -1, // 63 ?
+            -1, // 64 @
+            2, // 65 A
+            3, // 66 B
+            4, // 67 C
+            5, // 68 D
+            6, // 69 E
+            7, // 70 F
+            8, // 71 G
+            9, // 72 H
+            10, // 73 I
+            11, // 74 J
+            12, // 75 K
+            13, // 76 L
+            14, // 77 M
+            15, // 78 N
+            16, // 79 O
+            17, // 80 P
+            18, // 81 Q
+            19, // 82 R
+            20, // 83 S
+            21, // 84 T
+            22, // 85 U
+            23, // 86 V
+            24, // 87 W
+            25, // 88 X
+            26, // 89 Y
+            27, // 90 Z
+            -1, // 91 [
+            -1, // 92 \
+            -1, // 93 ]
+            -1, // 94 ^
+            -1, // 95 _
+            -1, // 96 `
+            2, // 97 a
+            3, // 98 b
+            4, // 99 c
+            5, // 100 d
+            6, // 101 e
+            7, // 102 f
+            8, // 103 g
+            9, // 104 h
+            10, // 105 i
+            11, // 106 j
+            12, // 107 k
+            13, // 108 l
+            14, // 109 m
+            15, // 110 n
+            16, // 111 o
+            17, // 112 p
+            18, // 113 q
+            19, // 114 r
+            20, // 115 s
+            21, // 116 t
+            22, // 117 u
+            23, // 118 v
+            24, // 119 w
+            25, // 120 x
+            26, // 121 y
+            27, // 122 z
+            -1, // 123 {
+            -1, // 124 |
+            -1, // 125 }
+            -1, // 126 ~
+            -1, // 127 (del)
+    };
 }