annotate software/eXist/mpdl-modules/src/de/mpg/mpiwg/berlin/mpdl/lt/analyzer/lang/MpdlNormalizerLexDE.java @ 9:1ec29fdd0db8

neue .lex Dateien f?r Normalisierung / externe Objekte update
author Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
date Tue, 22 Feb 2011 16:03:45 +0100
parents
children 5df60f24e997
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
1 /* The following code was generated by JFlex 1.4.3 on 22.02.11 12:03 */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
2
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
3 /*
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
4 * Normalization rules for German text
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
5 * [this is a JFlex specification]
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
6 *
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
7 * Wolfgang Schmidle
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
8 * version 0.96
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
9 * 2011-02-21
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
10 *
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
11 */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
12
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
13 package de.mpg.mpiwg.berlin.mpdl.lt.analyzer.lang;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
14
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
15
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
16 /**
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
17 * This class is a scanner generated by
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
18 * <a href="http://www.jflex.de/">JFlex</a> 1.4.3
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
19 * on 22.02.11 12:03 from the specification file
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
20 * <tt>MpdlNormalizerLexDE.lex</tt>
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
21 */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
22 public class MpdlNormalizerLexDE {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
23
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
24 /** This character denotes the end of file */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
25 public static final int YYEOF = -1;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
26
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
27 /** initial size of the lookahead buffer */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
28 private static final int ZZ_BUFFERSIZE = 16384;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
29
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
30 /** lexical states */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
31 public static final int SEARCH = 6;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
32 public static final int DICT = 4;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
33 public static final int YYINITIAL = 0;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
34 public static final int CELEX = 8;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
35 public static final int DISP = 2;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
36 public static final int GRIMM = 10;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
37
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
38 /**
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
39 * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
40 * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
41 * at the beginning of a line
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
42 * l is of the form l = 2*k, k a non negative integer
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
43 */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
44 private static final int ZZ_LEXSTATE[] = {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
45 0, 0, 1, 1, 2, 2, 1, 1, 3, 3, 4, 4
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
46 };
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
47
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
48 /**
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
49 * Translates characters to character classes
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
50 */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
51 private static final String ZZ_CMAP_PACKED =
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
52 "\12\0\1\1\65\0\1\15\32\2\6\0\1\6\15\2\1\10\5\2"+
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
53 "\1\4\5\2\111\0\1\11\21\0\1\12\5\0\1\13\2\0\1\14"+
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
54 "\4\0\1\11\21\0\1\12\5\0\1\13\202\0\1\3\u01e4\0\1\7"+
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
55 "\1\0\1\5\ufc99\0";
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
56
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
57 /**
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
58 * Translates characters to character classes
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
59 */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
60 private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
61
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
62 /**
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
63 * Translates DFA states to action switch labels.
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
64 */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
65 private static final int [] ZZ_ACTION = zzUnpackAction();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
66
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
67 private static final String ZZ_ACTION_PACKED_0 =
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
68 "\5\0\1\1\1\2\1\3\1\4\3\1\1\5\3\1"+
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
69 "\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15"+
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
70 "\1\16";
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
71
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
72 private static int [] zzUnpackAction() {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
73 int [] result = new int[25];
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
74 int offset = 0;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
75 offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
76 return result;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
77 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
78
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
79 private static int zzUnpackAction(String packed, int offset, int [] result) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
80 int i = 0; /* index in packed string */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
81 int j = offset; /* index in unpacked array */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
82 int l = packed.length();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
83 while (i < l) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
84 int count = packed.charAt(i++);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
85 int value = packed.charAt(i++);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
86 do result[j++] = value; while (--count > 0);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
87 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
88 return j;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
89 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
90
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
91
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
92 /**
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
93 * Translates a state to a row index in the transition table
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
94 */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
95 private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
96
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
97 private static final String ZZ_ROWMAP_PACKED_0 =
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
98 "\0\0\0\16\0\34\0\52\0\70\0\106\0\106\0\106"+
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
99 "\0\106\0\124\0\142\0\160\0\106\0\176\0\214\0\232"+
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
100 "\0\106\0\106\0\106\0\106\0\106\0\106\0\106\0\106"+
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
101 "\0\106";
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
102
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
103 private static int [] zzUnpackRowMap() {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
104 int [] result = new int[25];
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
105 int offset = 0;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
106 offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
107 return result;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
108 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
109
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
110 private static int zzUnpackRowMap(String packed, int offset, int [] result) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
111 int i = 0; /* index in packed string */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
112 int j = offset; /* index in unpacked array */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
113 int l = packed.length();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
114 while (i < l) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
115 int high = packed.charAt(i++) << 16;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
116 result[j++] = high | packed.charAt(i++);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
117 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
118 return j;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
119 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
120
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
121 /**
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
122 * The transition table of the DFA
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
123 */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
124 private static final int [] ZZ_TRANS = zzUnpackTrans();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
125
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
126 private static final String ZZ_TRANS_PACKED_0 =
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
127 "\1\6\1\0\1\6\1\7\11\6\1\10\1\6\1\11"+
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
128 "\1\6\1\7\1\12\1\6\1\13\1\6\1\14\4\6"+
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
129 "\1\10\1\6\1\15\1\6\1\7\1\12\1\6\1\13"+
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
130 "\1\6\1\14\4\6\2\10\1\15\1\6\1\7\1\16"+
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
131 "\1\10\1\17\1\10\1\20\1\21\1\22\1\23\1\24"+
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
132 "\1\10\1\6\1\15\1\6\1\7\1\12\1\6\1\13"+
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
133 "\1\6\1\14\3\6\1\25\1\10\23\0\1\26\1\0"+
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
134 "\1\27\15\0\1\30\15\0\1\31\13\0\1\26\1\0"+
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
135 "\1\23\15\0\1\21\15\0\1\22\6\0";
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
136
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
137 private static int [] zzUnpackTrans() {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
138 int [] result = new int[168];
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
139 int offset = 0;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
140 offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
141 return result;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
142 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
143
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
144 private static int zzUnpackTrans(String packed, int offset, int [] result) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
145 int i = 0; /* index in packed string */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
146 int j = offset; /* index in unpacked array */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
147 int l = packed.length();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
148 while (i < l) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
149 int count = packed.charAt(i++);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
150 int value = packed.charAt(i++);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
151 value--;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
152 do result[j++] = value; while (--count > 0);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
153 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
154 return j;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
155 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
156
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
157
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
158 /* error codes */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
159 private static final int ZZ_UNKNOWN_ERROR = 0;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
160 private static final int ZZ_NO_MATCH = 1;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
161 private static final int ZZ_PUSHBACK_2BIG = 2;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
162
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
163 /* error messages for the codes above */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
164 private static final String ZZ_ERROR_MSG[] = {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
165 "Unkown internal scanner error",
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
166 "Error: could not match input",
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
167 "Error: pushback value was too large"
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
168 };
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
169
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
170 /**
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
171 * ZZ_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
172 */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
173 private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
174
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
175 private static final String ZZ_ATTRIBUTE_PACKED_0 =
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
176 "\5\0\4\11\3\1\1\11\3\1\11\11";
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
177
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
178 private static int [] zzUnpackAttribute() {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
179 int [] result = new int[25];
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
180 int offset = 0;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
181 offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
182 return result;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
183 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
184
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
185 private static int zzUnpackAttribute(String packed, int offset, int [] result) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
186 int i = 0; /* index in packed string */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
187 int j = offset; /* index in unpacked array */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
188 int l = packed.length();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
189 while (i < l) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
190 int count = packed.charAt(i++);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
191 int value = packed.charAt(i++);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
192 do result[j++] = value; while (--count > 0);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
193 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
194 return j;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
195 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
196
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
197 /** the input device */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
198 private java.io.Reader zzReader;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
199
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
200 /** the current state of the DFA */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
201 private int zzState;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
202
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
203 /** the current lexical state */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
204 private int zzLexicalState = YYINITIAL;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
205
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
206 /** this buffer contains the current text to be matched and is
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
207 the source of the yytext() string */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
208 private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
209
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
210 /** the textposition at the last accepting state */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
211 private int zzMarkedPos;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
212
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
213 /** the current text position in the buffer */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
214 private int zzCurrentPos;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
215
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
216 /** startRead marks the beginning of the yytext() string in the buffer */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
217 private int zzStartRead;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
218
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
219 /** endRead marks the last character in the buffer, that has been read
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
220 from input */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
221 private int zzEndRead;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
222
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
223 /** number of newlines encountered up to the start of the matched text */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
224 private int yyline;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
225
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
226 /** the number of characters up to the start of the matched text */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
227 private int yychar;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
228
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
229 /**
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
230 * the number of characters from the last newline up to the start of the
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
231 * matched text
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
232 */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
233 private int yycolumn;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
234
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
235 /**
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
236 * zzAtBOL == true <=> the scanner is currently at the beginning of a line
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
237 */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
238 private boolean zzAtBOL = true;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
239
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
240 /** zzAtEOF == true <=> the scanner is at the EOF */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
241 private boolean zzAtEOF;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
242
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
243 /** denotes if the user-EOF-code has already been executed */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
244 private boolean zzEOFDone;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
245
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
246 /* user code: */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
247 private String original = "";
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
248 private String normalized = "";
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
249 private int problem = 0;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
250
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
251 private void add (String norm) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
252 original += yytext();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
253 normalized += norm;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
254 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
255
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
256
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
257 /**
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
258 * Creates a new scanner
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
259 * There is also a java.io.InputStream version of this constructor.
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
260 *
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
261 * @param in the java.io.Reader to read input from.
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
262 */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
263 public MpdlNormalizerLexDE(java.io.Reader in) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
264 this.zzReader = in;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
265 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
266
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
267 /**
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
268 * Creates a new scanner.
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
269 * There is also java.io.Reader version of this constructor.
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
270 *
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
271 * @param in the java.io.Inputstream to read input from.
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
272 */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
273 public MpdlNormalizerLexDE(java.io.InputStream in) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
274 this(new java.io.InputStreamReader(in));
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
275 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
276
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
277 /**
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
278 * Unpacks the compressed character translation table.
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
279 *
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
280 * @param packed the packed character translation table
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
281 * @return the unpacked character translation table
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
282 */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
283 private static char [] zzUnpackCMap(String packed) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
284 char [] map = new char[0x10000];
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
285 int i = 0; /* index in packed string */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
286 int j = 0; /* index in unpacked array */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
287 while (i < 66) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
288 int count = packed.charAt(i++);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
289 char value = packed.charAt(i++);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
290 do map[j++] = value; while (--count > 0);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
291 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
292 return map;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
293 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
294
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
295
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
296 /**
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
297 * Refills the input buffer.
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
298 *
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
299 * @return <code>false</code>, iff there was new input.
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
300 *
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
301 * @exception java.io.IOException if any I/O-Error occurs
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
302 */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
303 private boolean zzRefill() throws java.io.IOException {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
304
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
305 /* first: make room (if you can) */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
306 if (zzStartRead > 0) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
307 System.arraycopy(zzBuffer, zzStartRead,
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
308 zzBuffer, 0,
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
309 zzEndRead-zzStartRead);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
310
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
311 /* translate stored positions */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
312 zzEndRead-= zzStartRead;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
313 zzCurrentPos-= zzStartRead;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
314 zzMarkedPos-= zzStartRead;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
315 zzStartRead = 0;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
316 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
317
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
318 /* is the buffer big enough? */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
319 if (zzCurrentPos >= zzBuffer.length) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
320 /* if not: blow it up */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
321 char newBuffer[] = new char[zzCurrentPos*2];
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
322 System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
323 zzBuffer = newBuffer;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
324 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
325
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
326 /* finally: fill the buffer with new input */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
327 int numRead = zzReader.read(zzBuffer, zzEndRead,
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
328 zzBuffer.length-zzEndRead);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
329
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
330 if (numRead > 0) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
331 zzEndRead+= numRead;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
332 return false;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
333 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
334 // unlikely but not impossible: read 0 characters, but not at end of stream
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
335 if (numRead == 0) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
336 int c = zzReader.read();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
337 if (c == -1) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
338 return true;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
339 } else {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
340 zzBuffer[zzEndRead++] = (char) c;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
341 return false;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
342 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
343 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
344
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
345 // numRead < 0
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
346 return true;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
347 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
348
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
349
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
350 /**
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
351 * Closes the input stream.
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
352 */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
353 public final void yyclose() throws java.io.IOException {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
354 zzAtEOF = true; /* indicate end of file */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
355 zzEndRead = zzStartRead; /* invalidate buffer */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
356
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
357 if (zzReader != null)
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
358 zzReader.close();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
359 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
360
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
361
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
362 /**
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
363 * Resets the scanner to read from a new input stream.
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
364 * Does not close the old reader.
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
365 *
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
366 * All internal variables are reset, the old input stream
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
367 * <b>cannot</b> be reused (internal buffer is discarded and lost).
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
368 * Lexical state is set to <tt>ZZ_INITIAL</tt>.
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
369 *
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
370 * @param reader the new input stream
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
371 */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
372 public final void yyreset(java.io.Reader reader) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
373 zzReader = reader;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
374 zzAtBOL = true;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
375 zzAtEOF = false;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
376 zzEOFDone = false;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
377 zzEndRead = zzStartRead = 0;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
378 zzCurrentPos = zzMarkedPos = 0;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
379 yyline = yychar = yycolumn = 0;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
380 zzLexicalState = YYINITIAL;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
381 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
382
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
383
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
384 /**
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
385 * Returns the current lexical state.
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
386 */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
387 public final int yystate() {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
388 return zzLexicalState;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
389 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
390
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
391
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
392 /**
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
393 * Enters a new lexical state
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
394 *
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
395 * @param newState the new lexical state
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
396 */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
397 public final void yybegin(int newState) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
398 zzLexicalState = newState;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
399 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
400
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
401
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
402 /**
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
403 * Returns the text matched by the current regular expression.
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
404 */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
405 public final String yytext() {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
406 return new String( zzBuffer, zzStartRead, zzMarkedPos-zzStartRead );
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
407 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
408
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
409
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
410 /**
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
411 * Returns the character at position <tt>pos</tt> from the
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
412 * matched text.
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
413 *
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
414 * It is equivalent to yytext().charAt(pos), but faster
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
415 *
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
416 * @param pos the position of the character to fetch.
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
417 * A value from 0 to yylength()-1.
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
418 *
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
419 * @return the character at position pos
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
420 */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
421 public final char yycharat(int pos) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
422 return zzBuffer[zzStartRead+pos];
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
423 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
424
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
425
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
426 /**
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
427 * Returns the length of the matched text region.
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
428 */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
429 public final int yylength() {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
430 return zzMarkedPos-zzStartRead;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
431 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
432
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
433
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
434 /**
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
435 * Reports an error that occured while scanning.
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
436 *
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
437 * In a wellformed scanner (no or only correct usage of
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
438 * yypushback(int) and a match-all fallback rule) this method
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
439 * will only be called with things that "Can't Possibly Happen".
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
440 * If this method is called, something is seriously wrong
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
441 * (e.g. a JFlex bug producing a faulty scanner etc.).
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
442 *
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
443 * Usual syntax/scanner level error handling should be done
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
444 * in error fallback rules.
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
445 *
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
446 * @param errorCode the code of the errormessage to display
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
447 */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
448 private void zzScanError(int errorCode) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
449 String message;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
450 try {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
451 message = ZZ_ERROR_MSG[errorCode];
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
452 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
453 catch (ArrayIndexOutOfBoundsException e) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
454 message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
455 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
456
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
457 throw new Error(message);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
458 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
459
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
460
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
461 /**
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
462 * Pushes the specified amount of characters back into the input stream.
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
463 *
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
464 * They will be read again by then next call of the scanning method
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
465 *
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
466 * @param number the number of characters to be read again.
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
467 * This number must not be greater than yylength()!
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
468 */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
469 public void yypushback(int number) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
470 if ( number > yylength() )
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
471 zzScanError(ZZ_PUSHBACK_2BIG);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
472
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
473 zzMarkedPos -= number;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
474 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
475
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
476
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
477 /**
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
478 * Resumes scanning until the next regular expression is matched,
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
479 * the end of input is encountered or an I/O-Error occurs.
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
480 *
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
481 * @return the next token
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
482 * @exception java.io.IOException if any I/O-Error occurs
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
483 */
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
484 public java.lang.String yylex() throws java.io.IOException {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
485 int zzInput;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
486 int zzAction;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
487
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
488 // cached fields:
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
489 int zzCurrentPosL;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
490 int zzMarkedPosL;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
491 int zzEndReadL = zzEndRead;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
492 char [] zzBufferL = zzBuffer;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
493 char [] zzCMapL = ZZ_CMAP;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
494
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
495 int [] zzTransL = ZZ_TRANS;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
496 int [] zzRowMapL = ZZ_ROWMAP;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
497 int [] zzAttrL = ZZ_ATTRIBUTE;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
498
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
499 while (true) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
500 zzMarkedPosL = zzMarkedPos;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
501
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
502 zzAction = -1;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
503
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
504 zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
505
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
506 zzState = ZZ_LEXSTATE[zzLexicalState];
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
507
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
508
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
509 zzForAction: {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
510 while (true) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
511
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
512 if (zzCurrentPosL < zzEndReadL)
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
513 zzInput = zzBufferL[zzCurrentPosL++];
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
514 else if (zzAtEOF) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
515 zzInput = YYEOF;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
516 break zzForAction;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
517 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
518 else {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
519 // store back cached positions
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
520 zzCurrentPos = zzCurrentPosL;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
521 zzMarkedPos = zzMarkedPosL;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
522 boolean eof = zzRefill();
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
523 // get translated positions and possibly new buffer
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
524 zzCurrentPosL = zzCurrentPos;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
525 zzMarkedPosL = zzMarkedPos;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
526 zzBufferL = zzBuffer;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
527 zzEndReadL = zzEndRead;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
528 if (eof) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
529 zzInput = YYEOF;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
530 break zzForAction;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
531 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
532 else {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
533 zzInput = zzBufferL[zzCurrentPosL++];
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
534 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
535 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
536 int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
537 if (zzNext == -1) break zzForAction;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
538 zzState = zzNext;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
539
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
540 int zzAttributes = zzAttrL[zzState];
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
541 if ( (zzAttributes & 1) == 1 ) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
542 zzAction = zzState;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
543 zzMarkedPosL = zzCurrentPosL;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
544 if ( (zzAttributes & 8) == 8 ) break zzForAction;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
545 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
546
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
547 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
548 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
549
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
550 // store back cached position
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
551 zzMarkedPos = zzMarkedPosL;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
552
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
553 switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
554 case 10:
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
555 { add("sz");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
556 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
557 case 15: break;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
558 case 3:
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
559 { problem = 1; add(yytext());
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
560 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
561 case 16: break;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
562 case 6:
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
563 { add("ae");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
564 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
565 case 17: break;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
566 case 2:
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
567 { add("s");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
568 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
569 case 18: break;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
570 case 4:
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
571 { switch (problem) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
572 case 1: return original;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
573 default: return normalized;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
574 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
575 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
576 case 19: break;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
577 case 12:
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
578 { add("ü");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
579 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
580 case 20: break;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
581 case 8:
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
582 { add("ue");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
583 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
584 case 21: break;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
585 case 11:
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
586 { add("u");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
587 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
588 case 22: break;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
589 case 13:
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
590 { add("ä");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
591 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
592 case 23: break;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
593 case 1:
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
594 { add(yytext());
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
595 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
596 case 24: break;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
597 case 9:
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
598 { add("ss");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
599 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
600 case 25: break;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
601 case 7:
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
602 { add("oe");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
603 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
604 case 26: break;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
605 case 14:
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
606 { add("ö");
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
607 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
608 case 27: break;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
609 case 5:
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
610 { switch (problem) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
611 case 1: return "";
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
612 default: return normalized;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
613 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
614 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
615 case 28: break;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
616 default:
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
617 if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
618 zzAtEOF = true;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
619 return null;
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
620 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
621 else {
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
622 zzScanError(ZZ_NO_MATCH);
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
623 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
624 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
625 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
626 }
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
627
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
628
1ec29fdd0db8 neue .lex Dateien f?r Normalisierung / externe Objekte update
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
629 }