// Generated by re2js
// re2js $INPUT -o $OUTPUT --header lexer/state.js

let state = require('./lexer/state.js');



function lex(yyrecord) {
    let t
    
{
    let yych = 0
    let yystate = 0
    yyl: while (true) {
        switch (yystate) {
            case 0:
                yych = yyrecord.yyinput.charCodeAt(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.charCodeAt(yyrecord.yycursor)
                switch (yych) {
                    case 0x62:
                        yyrecord.yycursor += 1;
                        yystate = 2
                        continue yyl
                    default:
                        yystate = 1
                        continue yyl
                }
            default:
                throw "internal lexer error"
        }
    }
}

}

if (lex(state.mk_state("ab\0")) != 1) {
    throw "error!"
}
// Generated by re2js

exports.mk_state = function(str) {
    return {
        yyinput: str,
        yyt1: 0,

        yycursor: 0
    }
}
js/headers/header.re:23:21: warning: rule matches empty string [-Wmatch-empty-string]
