*** empty log message ***
[cacao.git] / tests / jvm98 / javac.diff
1 diff -u javac1/input/lib/spec/benchmarks/_202_jess/Main.java javac/input/lib/spec/benchmarks/_202_jess/Main.java
2 --- javac1/input/lib/spec/benchmarks/_202_jess/Main.java        Wed Jun 17 01:31:47 1998
3 +++ javac/input/lib/spec/benchmarks/_202_jess/Main.java Mon Dec  2 00:03:00 2002
4 @@ -5,7 +5,7 @@
5  
6      static long runBenchmark( String[] args ) {
7      
8 -        int speed = 1; 
9 +        int speed = 100; 
10  
11          if( speed == 100 ) {
12             args = new String[1];
13 --- javac1/input/Middle.java    Wed Nov 12 00:51:07 1997
14 +++ javac/input/Middle.java     Mon Dec  2 00:40:16 2002
15 @@ -1,5 +1,5 @@
16  
17 -public class Middle {
18 +public class Main {
19  
20    public static void main(String args[]){
21  
22 diff -Nu javac2/postoutput.sh javac/postoutput.sh
23 --- javac2/postoutput.sh        Thu Jan  1 01:00:00 1970
24 +++ javac/postoutput.sh Mon Dec  2 09:53:53 2002
25 @@ -0,0 +1,4 @@
26 +rm -fr sun
27 +../../cacao -ieee sun.tools.javap.JavaP -classpath .:lib -c `ls *.class|sed 's/\.class//g'` | sed 's/\#[0-9]*/#/g' >> javac.output
28 +../../cacao -ieee JavaLex sample.lex
29 +cat sample.lex.java >> javac.output
30 --- javac1/input/JavaLex.java   Wed Jun 17 19:59:04 1998
31 +++ javac/input/JavaLex.java    Mon Dec  2 12:49:16 2002
32 @@ -3407,7 +3407,6 @@
33          lg = new CLexGen(arg[0]);
34          lg.generate();
35  
36 -        spec.benchmarks._202_jess.Main.main(null);
37        }
38  }    
39
40 diff -Nu javac2/setup.sh javac/setup.sh
41 --- javac2/setup.sh     Thu Jan  1 01:00:00 1970
42 +++ javac/setup.sh      Mon Dec  2 12:52:56 2002
43 @@ -0,0 +1,6 @@
44 +rm -f *.class
45 +mv input/* .
46 +mv Middle.java Main.java
47 +cp ../../jvm98/spec/benchmarks/_*_jess/input/* input
48 +mv lib/spec .
49 +../../cacao -ieee sun.tools.javac.Main -d . spec/*/*/*.java
50 diff -Nu javac2/sample.lex javac/sample.lex
51 --- javac2/sample.lex   Thu Jan  1 01:00:00 1970
52 +++ javac/sample.lex    Wed Sep  6 16:09:48 2000
53 @@ -0,0 +1,159 @@
54 +import java.lang.System;
55 +
56 +class Sample {
57 +    public static void main(String argv[]) throws java.io.IOException {
58 +       Yylex yy = new Yylex(System.in);
59 +       Yytoken t;
60 +       while ((t = yy.yylex()) != null)
61 +           System.out.println(t);
62 +    }
63 +}
64 +
65 +class Utility {
66 +  public static void assert
67 +    (
68 +     boolean expr
69 +     )
70 +      { 
71 +       if (false == expr) {
72 +         throw (new Error("Error: Assertion failed."));
73 +       }
74 +      }
75 +  
76 +  private static final String errorMsg[] = {
77 +    "Error: Unmatched end-of-comment punctuation.",
78 +    "Error: Unmatched start-of-comment punctuation.",
79 +    "Error: Unclosed string.",
80 +    "Error: Illegal character."
81 +    };
82 +  
83 +  public static final int E_ENDCOMMENT = 0; 
84 +  public static final int E_STARTCOMMENT = 1; 
85 +  public static final int E_UNCLOSEDSTR = 2; 
86 +  public static final int E_UNMATCHED = 3; 
87 +
88 +  public static void error
89 +    (
90 +     int code
91 +     )
92 +      {
93 +       System.out.println(errorMsg[code]);
94 +      }
95 +}
96 +
97 +class Yytoken {
98 +  Yytoken 
99 +    (
100 +     int index,
101 +     String text,
102 +     int line,
103 +     int charBegin,
104 +     int charEnd
105 +     )
106 +      {
107 +       m_index = index;
108 +       m_text = new String(text);
109 +       m_line = line;
110 +       m_charBegin = charBegin;
111 +       m_charEnd = charEnd;
112 +      }
113 +
114 +  public int m_index;
115 +  public String m_text;
116 +  public int m_line;
117 +  public int m_charBegin;
118 +  public int m_charEnd;
119 +  public String toString() {
120 +      return "Token #"+m_index+": "+m_text+" (line "+m_line+")";
121 +  }
122 +}
123 +
124 +%%
125 +
126 +%{
127 +  private int comment_count = 0;
128 +%} 
129 +%line
130 +%char
131 +%state COMMENT
132 +
133 +ALPHA=[A-Za-z]
134 +DIGIT=[0-9]
135 +NONNEWLINE_WHITE_SPACE_CHAR=[\ \t\b\012]
136 +WHITE_SPACE_CHAR=[\n\ \t\b\012]
137 +STRING_TEXT=(\\\"|[^\n\"]|\\{WHITE_SPACE_CHAR}+\\)*
138 +COMMENT_TEXT=([^/*\n]|[^*\n]"/"[^*\n]|[^/\n]"*"[^/\n]|"*"[^/\n]|"/"[^*\n])*
139 +
140 +
141 +%% 
142 +
143 +<YYINITIAL> "," { return (new Yytoken(0,yytext(),yyline,yychar,yychar+1)); }
144 +<YYINITIAL> ":" { return (new Yytoken(1,yytext(),yyline,yychar,yychar+1)); }
145 +<YYINITIAL> ";" { return (new Yytoken(2,yytext(),yyline,yychar,yychar+1)); }
146 +<YYINITIAL> "(" { return (new Yytoken(3,yytext(),yyline,yychar,yychar+1)); }
147 +<YYINITIAL> ")" { return (new Yytoken(4,yytext(),yyline,yychar,yychar+1)); }
148 +<YYINITIAL> "[" { return (new Yytoken(5,yytext(),yyline,yychar,yychar+1)); }
149 +<YYINITIAL> "]" { return (new Yytoken(6,yytext(),yyline,yychar,yychar+1)); }
150 +<YYINITIAL> "{" { return (new Yytoken(7,yytext(),yyline,yychar,yychar+1)); }
151 +<YYINITIAL> "}" { return (new Yytoken(8,yytext(),yyline,yychar,yychar+1)); }
152 +<YYINITIAL> "." { return (new Yytoken(9,yytext(),yyline,yychar,yychar+1)); }
153 +<YYINITIAL> "+" { return (new Yytoken(10,yytext(),yyline,yychar,yychar+1)); }
154 +<YYINITIAL> "-" { return (new Yytoken(11,yytext(),yyline,yychar,yychar+1)); }
155 +<YYINITIAL> "*" { return (new Yytoken(12,yytext(),yyline,yychar,yychar+1)); }
156 +<YYINITIAL> "/" { return (new Yytoken(13,yytext(),yyline,yychar,yychar+1)); }
157 +<YYINITIAL> "=" { return (new Yytoken(14,yytext(),yyline,yychar,yychar+1)); }
158 +<YYINITIAL> "<>" { return (new Yytoken(15,yytext(),yyline,yychar,yychar+2)); }
159 +<YYINITIAL> "<"  { return (new Yytoken(16,yytext(),yyline,yychar,yychar+1)); }
160 +<YYINITIAL> "<=" { return (new Yytoken(17,yytext(),yyline,yychar,yychar+2)); }
161 +<YYINITIAL> ">"  { return (new Yytoken(18,yytext(),yyline,yychar,yychar+1)); }
162 +<YYINITIAL> ">=" { return (new Yytoken(19,yytext(),yyline,yychar,yychar+2)); }
163 +<YYINITIAL> "&"  { return (new Yytoken(20,yytext(),yyline,yychar,yychar+1)); }
164 +<YYINITIAL> "|"  { return (new Yytoken(21,yytext(),yyline,yychar,yychar+1)); }
165 +<YYINITIAL> ":=" { return (new Yytoken(22,yytext(),yyline,yychar,yychar+2)); }
166 +
167 +<YYINITIAL> {NONNEWLINE_WHITE_SPACE_CHAR}+ { }
168 +
169 +<YYINITIAL,COMMENT> \n { }
170 +
171 +<YYINITIAL> "/*" { yybegin(COMMENT); comment_count = comment_count + 1; }
172 +
173 +<COMMENT> "/*" { comment_count = comment_count + 1; }
174 +<COMMENT> "*/" { 
175 +       comment_count = comment_count - 1; 
176 +       Utility.assert(comment_count >= 0);
177 +       if (comment_count == 0) {
178 +               yybegin(YYINITIAL);
179 +       }
180 +}
181 +<COMMENT> {COMMENT_TEXT} { }
182 +
183 +<YYINITIAL> \"{STRING_TEXT}\" {
184 +       String str =  yytext().substring(1,yytext().length() - 1);
185 +       
186 +       Utility.assert(str.length() == yytext().length() - 2);
187 +       return (new Yytoken(40,str,yyline,yychar,yychar + str.length()));
188 +}
189 +<YYINITIAL> \"{STRING_TEXT} {
190 +       String str =  yytext().substring(1,yytext().length());
191 +
192 +       Utility.error(Utility.E_UNCLOSEDSTR);
193 +       Utility.assert(str.length() == yytext().length() - 1);
194 +       return (new Yytoken(41,str,yyline,yychar,yychar + str.length()));
195 +} 
196 +<YYINITIAL> {DIGIT}+ { 
197 +       return (new Yytoken(42,yytext(),yyline,yychar,yychar + yytext().length()));
198 +}      
199 +<YYINITIAL> {ALPHA}({ALPHA}|{DIGIT}|_)* {
200 +       return (new Yytoken(43,yytext(),yyline,yychar,yychar + yytext().length()));
201 +}      
202 +<YYINITIAL,COMMENT> . {
203 +        System.out.println("Illegal character: <" + yytext() + ">");
204 +       Utility.error(Utility.E_UNMATCHED);
205 +}
206 +
207 +
208 +
209 +
210 +
211 +
212 +