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 60 61
|
// Code generated by re2v, DO NOT EDIT.
//line "codegen/v/loop_switch/basic.re":1
// re2v $INPUT -o $OUTPUT --loop-switch
fn lex(str string) {
mut cursor := 0
//line "codegen/v/loop_switch/basic.v":9
mut yych := 0
mut yystate := 0
yyl:
for {
match yystate {
0 {
yych = str[cursor]
cursor += 1
match yych {
0x31...0x39 {
yystate = 2
continue yyl
}
else {
yystate = 1
continue yyl
}
}
}
1 {
//line "codegen/v/loop_switch/basic.re":14
panic("error!")
//line "codegen/v/loop_switch/basic.v":32
}
2 {
yych = str[cursor]
match yych {
0x30...0x39 {
cursor += 1
yystate = 2
continue yyl
}
else {
yystate = 3
continue yyl
}
}
}
3 {
//line "codegen/v/loop_switch/basic.re":13
return
//line "codegen/v/loop_switch/basic.v":51
}
else { panic("internal lexer error") }
}
}
//line "codegen/v/loop_switch/basic.re":15
}
fn main() {
lex("1234\x00")
}
|