File: header.re

package info (click to toggle)
re2c 4.4-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 51,512 kB
  • sloc: cpp: 34,160; ml: 8,494; sh: 5,311; makefile: 1,014; haskell: 611; python: 431; ansic: 234; javascript: 113
file content (42 lines) | stat: -rw-r--r-- 935 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// re2java $INPUT -o $OUTPUT --header lexer/state.java

package headers;

import headers.lexer.State;

/*!header:re2c:on*/
package headers.lexer;

public class State {
    public String yyinput;
    public int yycursor;
    /*!stags:re2c format = "public int @@;\n"; */

    public State(String str) {
        yyinput = str;
        yycursor = 0;
        /*!stags:re2c format = "@@ = 0;\n"; */
    }
};
/*!header:re2c:off*/

class Main {
    static int lex(String str) {
        State yyrecord = new State(str);
        int t;
        /*!re2c
            re2c:api = record;
            re2c:tags = 1;
            re2c:yyfill:enable = 0;
            re2c:YYCTYPE = "char";
            re2c:YYPEEK = "yyrecord.yyinput.charAt(yyrecord.yycursor)";
            re2c:header = "lexer/state.java";

            [a]* @t [b]* { return t; }
        */
    }

    public static void main(String []args) {
        assert lex("ab\0") == 1;
    }
};