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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
// 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]
|