// Code generated by re2go, DO NOT EDIT.
//go:generate re2go $INPUT -o $OUTPUT -i --api simple
package main

const (
	ResultOk = iota
	ResultFail
)




func lex(yyinput string) int {
	var yycursor, yymarker int
	
{
	var yych byte
	yyaccept := 0
	yych = yyinput[yycursor]
	switch (yych) {
	case '.':
		goto yy3
	case '0':
		goto yy4
	case '1','2','3','4','5','6','7','8','9':
		goto yy5
	default:
		goto yy1
	}
yy1:
	yycursor += 1
yy2:
	{ return ResultFail }
yy3:
	yycursor += 1
	yych = yyinput[yycursor]
	switch (yych) {
	case '0','1','2','3','4','5','6','7','8','9':
		goto yy7
	default:
		goto yy2
	}
yy4:
	yyaccept = 0
	yycursor += 1
	yymarker = yycursor
	yych = yyinput[yycursor]
	switch (yych) {
	case '.':
		goto yy7
	case '0','1','2','3','4','5','6','7','8','9':
		goto yy9
	case 'E':
		fallthrough
	case 'e':
		goto yy11
	default:
		goto yy2
	}
yy5:
	yyaccept = 1
	yycursor += 1
	yymarker = yycursor
	yych = yyinput[yycursor]
	switch (yych) {
	case '.':
		goto yy7
	case '0','1','2','3','4','5','6','7','8','9':
		goto yy5
	case 'E':
		fallthrough
	case 'e':
		goto yy11
	default:
		goto yy6
	}
yy6:
	{ return ResultOk }
yy7:
	yyaccept = 2
	yycursor += 1
	yymarker = yycursor
	yych = yyinput[yycursor]
	switch (yych) {
	case '0','1','2','3','4','5','6','7','8','9':
		goto yy7
	case 'E':
		fallthrough
	case 'e':
		goto yy11
	default:
		goto yy8
	}
yy8:
	{ return ResultOk }
yy9:
	yycursor += 1
	yych = yyinput[yycursor]
	switch (yych) {
	case '.':
		goto yy7
	case '0','1','2','3','4','5','6','7','8','9':
		goto yy9
	case 'E':
		fallthrough
	case 'e':
		goto yy11
	default:
		goto yy10
	}
yy10:
	yycursor = yymarker
	switch (yyaccept) {
	case 0:
		goto yy2
	case 1:
		goto yy6
	default:
		goto yy8
	}
yy11:
	yycursor += 1
	yych = yyinput[yycursor]
	switch (yych) {
	case '+':
		fallthrough
	case '-':
		goto yy12
	case '0','1','2','3','4','5','6','7','8','9':
		goto yy13
	default:
		goto yy10
	}
yy12:
	yycursor += 1
	yych = yyinput[yycursor]
	switch (yych) {
	case '0','1','2','3','4','5','6','7','8','9':
		goto yy13
	default:
		goto yy10
	}
yy13:
	yycursor += 1
	yych = yyinput[yycursor]
	switch (yych) {
	case '0','1','2','3','4','5','6','7','8','9':
		goto yy13
	default:
		goto yy8
	}
}

}

func main() {
	assert_eq := func(x, y int) { if x != y { panic("error") } }
	assert_eq(lex("123\000"), ResultOk)
	assert_eq(lex("123.4567\000"), ResultOk)
}
