// Code generated by re2v, DO NOT EDIT.
// re2v $INPUT -o $OUTPUT -i --header lexer/state.v
module main

import lexer // the package is generated by re2c



fn lex(mut yyrecord &lexer.State) int {
    mut t := 0
    
    mut yych := u8(0)
    unsafe { goto yy0 }
yy1:
    yyrecord.yycursor += 1
yy0:
    yych = yyrecord.yyinput[yyrecord.yycursor]
    match yych {
        0x61 { unsafe { goto yy1 } }
        0x62 {
            yyrecord.yyt1 = yyrecord.yycursor
            unsafe { goto yy3 }
        }
        else {
            yyrecord.yyt1 = yyrecord.yycursor
            unsafe { goto yy2 }
        }
    }
yy2:
    t = yyrecord.yyt1
    return t
yy3:
    yyrecord.yycursor += 1
    yych = yyrecord.yyinput[yyrecord.yycursor]
    match yych {
        0x62 { unsafe { goto yy3 } }
        else { unsafe { goto yy2 } }
    }

}

fn main() {
    mut st := &lexer.State{yyinput:"ab\0",}
    if lex(mut st) != 1 {
        panic("error")
    }
}
// Code generated by re2v, DO NOT EDIT.

module lexer

pub struct State {
pub mut:
    yyinput string
    yycursor int
    yyt1 int

}
v/headers/header.re:25:21: warning: rule matches empty string [-Wmatch-empty-string]
