Subversion Repositories programming

Rev

Rev 225 | Rev 228 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 225 Rev 226
Line 7... Line 7...
7
 ******************************************************************************/
7
 ******************************************************************************/
8
 
8
 
9
%{
9
%{
10
    import java.lang.*;
10
    import java.lang.*;
11
    import java.io.*;
11
    import java.io.*;
12
    import.java.util.StringTokenizer;
12
    import java.util.StringTokenizer;
13
%}
13
%}
14
 
14
 
15
/* Token Declarations */
15
/* Token Declarations */
16
%token CLASS
16
%token CLASS
17
%token ID
17
%token ID
Line 86... Line 86...
86
    | NUM { System.out.println ("factor -> NUM reduce"); }
86
    | NUM { System.out.println ("factor -> NUM reduce"); }
87
    | ID { System.out.println ("factor -> ID reduce"); };
87
    | ID { System.out.println ("factor -> ID reduce"); };
88
 
88
 
89
%%
89
%%
90
 
90
 
-
 
91
private Yylex lexer;
91
 
92
 
-
 
93
public void yyerror (String error)
-
 
94
{
-
 
95
    System.out.println ("Parse Error: " + error);
-
 
96
}
-
 
97
 
-
 
98
int yylex ()
-
 
99
{
-
 
100
    int lex_return = -1;
-
 
101
 
-
 
102
    try
-
 
103
    {
-
 
104
        lex_return = lexer.yylex();
-
 
105
    }
-
 
106
    catch (IOException e)
-
 
107
    {
-
 
108
        System.out.println ("IO Error: " + e);
-
 
109
    }
-
 
110
 
-
 
111
    return lex_return;
-
 
112
}
-
 
113
 
-
 
114
public Parser (Reader r)
-
 
115
{
-
 
116
    lexer = new Yylex (r, this);
-
 
117
}
-
 
118
 
-
 
119
public static void main (String[] args) throws Exception
-
 
120
{
-
 
121
    Parser yyparser = new Parser (new FileReader (args[0]));
-
 
122
    yyparser.yyparse();
-
 
123
}
92
 
124