KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > TestRTS


1 import lexer.RTS;
2 import lexer.DFA;
3
4 import java.util.*;
5
6 class TestRTS {
7     public static void main(String JavaDoc args[]) throws Exception JavaDoc {
8         RTS r = new RTS();
9         if (!r.isEmpty()) {
10             throw new Exception JavaDoc("RTS() error");
11         }
12         int stateNo = 10;
13         int startState = 0;
14         int finalState = 1;
15         String JavaDoc strAlpha = "abc";
16         Character JavaDoc symbols[] = { /*0*/ null,
17                                 /*1*/ null,
18                                 /*2*/ new Character JavaDoc('a'),
19                                 /*3*/ null,
20                                 /*4*/ new Character JavaDoc('b'),
21                                 /*5*/ null,
22                                 /*6*/ null,
23                                 /*7*/ null,
24                                 /*8*/ new Character JavaDoc('c'),
25                                 /*9*/ null };
26         Integer JavaDoc next1[] = { /*0*/ new Integer JavaDoc(2),
27                             /*1*/ null,
28                             /*2*/ new Integer JavaDoc(3),
29                             /*3*/ new Integer JavaDoc(4),
30                             /*4*/ new Integer JavaDoc(5),
31                             /*5*/ new Integer JavaDoc(1),
32                             /*6*/ new Integer JavaDoc(8),
33                             /*7*/ new Integer JavaDoc(1),
34                             /*8*/ new Integer JavaDoc(9),
35                             /*9*/ new Integer JavaDoc(8)};
36         Integer JavaDoc next2[] = { /*0*/ new Integer JavaDoc(6),
37                             /*1*/ null,
38                             /*2*/ null,
39                             /*3*/ null,
40                             /*4*/ null,
41                             /*5*/ null,
42                             /*6*/ new Integer JavaDoc(7),
43                             /*7*/ null,
44                             /*8*/ null,
45                             /*9*/ new Integer JavaDoc(7)};
46         r = new RTS(stateNo, startState, finalState, strAlpha, symbols, next1, next2);
47         r.print();
48
49         HashSet set = new HashSet();
50         boolean b = r.lambda(0, set);
51         System.out.print("lambda(0): "+set+" return: "+b);
52
53         lexer.DFA d = new lexer.DFA(r);
54         System.out.print("\nDFA: "+d);
55
56         System.out.print("\nacceptsString(\"\"): "+d.acceptsString(""));
57         System.out.print("\nacceptsString(\"ab\"): "+d.acceptsString("ab"));
58         System.out.print("\nacceptsString(\"aa\"): "+d.acceptsString("aa"));
59         System.out.print("\nacceptsString(\"c\"): "+d.acceptsString("c"));
60         System.out.print("\nacceptsString(\"cccccc\"): "+d.acceptsString("cccccc"));
61     }
62 }
63
Popular Tags