Subversion Repositories programming

Rev

Rev 225 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 225 Rev 226
Line 1... Line 1...
1
%%
1
%%
2
 
2
 
3
%byaccj
3
%byaccj
4
 
4
 
5
%{
5
%{
6
    /* store a reference to the parser object */
6
    /* store a reference to the Parser object */
7
    private parser yyparser;
7
    private Parser yyparser;
8
 
8
 
9
    /* constructor taking an additional parser object */
9
    /* constructor taking an additional Parser object */
10
    public Yylex(java.io.Reader r, parser yyparser) {
10
    public Yylex(java.io.Reader r, Parser yyparser) {
11
        this(r);
11
        this(r);
12
        this.yyparser = yyparser;
12
        this.yyparser = yyparser;
13
    }
13
    }
14
%}
14
%}
15
 
15
 
Line 19... Line 19...
19
NUM = [0-9]+ ("." [0-9]+)?
19
NUM = [0-9]+ ("." [0-9]+)?
20
WSPACE = [\ \t]+ | \n | \r | \r\n
20
WSPACE = [\ \t]+ | \n | \r | \r\n
21
 
21
 
22
%%
22
%%
23
 
23
 
24
"class"     { return parser.CLASS;      }
24
"class"     { return Parser.CLASS;      }
25
"public"    { return parser.PUBLIC;     }
25
"public"    { return Parser.PUBLIC;     }
26
"private"   { return parser.PRIVATE;    }
26
"private"   { return Parser.PRIVATE;    }
27
"int"       { return parser.INT;        }
27
"int"       { return Parser.INT;        }
28
"float"     { return parser.FLOAT;      }
28
"float"     { return Parser.FLOAT;      }
29
"void"      { return parser.VOID;       }
29
"void"      { return Parser.VOID;       }
30
"if"        { return parser.IF;         }
30
"if"        { return Parser.IF;         }
31
"else"      { return parser.ELSE;       }
31
"else"      { return Parser.ELSE;       }
32
"while"     { return parser.WHILE;      }
32
"while"     { return Parser.WHILE;      }
33
"return"    { return parser.RETURN;     }
33
"return"    { return Parser.RETURN;     }
34
 
34
 
35
"("         { return parser.LPAREN;     }
35
"("         { return Parser.LPAREN;     }
36
")"         { return parser.RPAREN;     }
36
")"         { return Parser.RPAREN;     }
37
"{"         { return parser.LBRACE;     }
37
"{"         { return Parser.LBRACE;     }
38
"}"         { return parser.RBRACE;     }
38
"}"         { return Parser.RBRACE;     }
39
";"         { return parser.SEMI;       }
39
";"         { return Parser.SEMI;       }
40
"="         { return parser.ASSIGNOP;   }
40
"="         { return Parser.ASSIGNOP;   }
41
 
41
 
42
{ID}        { return parser.ID;         }
42
{ID}        { return Parser.ID;         }
43
{ADDOP}     { return parser.ADDOP;      }
43
{ADDOP}     { return Parser.ADDOP;      }
44
{MULOP}     { return parser.MULOP;      }
44
{MULOP}     { return Parser.MULOP;      }
45
{NUM}       { return parser.NUM;        }
45
{NUM}       { return Parser.NUM;        }
46
{WSPACE}    {                           }
46
{WSPACE}    {                           }
47
 
47