// Generated by re2java
// re2java $INPUT -o $OUTPUT --header lexer/state.java

package headers;

import headers.lexer.State;



class Main {
    static int lex(String str) {
        State yyrecord = new State(str);
        int t;
        
{
    char yych = 0;
    int yystate = 0;
    yyl: while (true) {
        switch (yystate) {
            case 0:
                yych = yyrecord.yyinput.charAt(yyrecord.yycursor);
                switch (yych) {
                    case 0x61:
                        yyrecord.yycursor += 1;
                        yystate = 0;
                        continue yyl;
                    case 0x62:
                        yyrecord.yyt1 = yyrecord.yycursor;
                        yyrecord.yycursor += 1;
                        yystate = 2;
                        continue yyl;
                    default:
                        yyrecord.yyt1 = yyrecord.yycursor;
                        yystate = 1;
                        continue yyl;
                }
            case 1:
                t = yyrecord.yyt1;
                { return t; }
            case 2:
                yych = yyrecord.yyinput.charAt(yyrecord.yycursor);
                switch (yych) {
                    case 0x62:
                        yyrecord.yycursor += 1;
                        yystate = 2;
                        continue yyl;
                    default:
                        yystate = 1;
                        continue yyl;
                }
            default:
                throw new IllegalStateException("internal lexer error");
        }
    }
}

    }

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

package headers.lexer;

public class State {
    public String yyinput;
    public int yycursor;
    public int yyt1;


    public State(String str) {
        yyinput = str;
        yycursor = 0;
        yyt1 = 0;

    }
};
java/headers/header.re:35:25: warning: rule matches empty string [-Wmatch-empty-string]
