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
6 static long runBenchmark( String[] args ) {
13 --- javac1/input/Middle.java Wed Nov 12 00:51:07 1997
14 +++ javac/input/Middle.java Mon Dec 2 00:40:16 2002
17 -public class Middle {
20 public static void main(String args[]){
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
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
33 lg = new CLexGen(arg[0]);
36 - spec.benchmarks._202_jess.Main.main(null);
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
46 +mv Middle.java Main.java
47 +cp ../../jvm98/spec/benchmarks/_*_jess/input/* input
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
54 +import java.lang.System;
57 + public static void main(String argv[]) throws java.io.IOException {
58 + Yylex yy = new Yylex(System.in);
60 + while ((t = yy.yylex()) != null)
61 + System.out.println(t);
66 + public static void assert
71 + if (false == expr) {
72 + throw (new Error("Error: Assertion failed."));
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."
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;
88 + public static void error
93 + System.out.println(errorMsg[code]);
108 + m_text = new String(text);
110 + m_charBegin = charBegin;
111 + m_charEnd = charEnd;
114 + public int m_index;
115 + public String m_text;
117 + public int m_charBegin;
118 + public int m_charEnd;
119 + public String toString() {
120 + return "Token #"+m_index+": "+m_text+" (line "+m_line+")";
127 + private int comment_count = 0;
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])*
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)); }
167 +<YYINITIAL> {NONNEWLINE_WHITE_SPACE_CHAR}+ { }
169 +<YYINITIAL,COMMENT> \n { }
171 +<YYINITIAL> "/*" { yybegin(COMMENT); comment_count = comment_count + 1; }
173 +<COMMENT> "/*" { comment_count = comment_count + 1; }
175 + comment_count = comment_count - 1;
176 + Utility.assert(comment_count >= 0);
177 + if (comment_count == 0) {
178 + yybegin(YYINITIAL);
181 +<COMMENT> {COMMENT_TEXT} { }
183 +<YYINITIAL> \"{STRING_TEXT}\" {
184 + String str = yytext().substring(1,yytext().length() - 1);
186 + Utility.assert(str.length() == yytext().length() - 2);
187 + return (new Yytoken(40,str,yyline,yychar,yychar + str.length()));
189 +<YYINITIAL> \"{STRING_TEXT} {
190 + String str = yytext().substring(1,yytext().length());
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()));
196 +<YYINITIAL> {DIGIT}+ {
197 + return (new Yytoken(42,yytext(),yyline,yychar,yychar + yytext().length()));
199 +<YYINITIAL> {ALPHA}({ALPHA}|{DIGIT}|_)* {
200 + return (new Yytoken(43,yytext(),yyline,yychar,yychar + yytext().length()));
202 +<YYINITIAL,COMMENT> . {
203 + System.out.println("Illegal character: <" + yytext() + ">");
204 + Utility.error(Utility.E_UNMATCHED);