// Code generated by re2c, DO NOT EDIT.
//go:generate re2go $INPUT -o $OUTPUT -i --header lexer/state.go
package main

import "./lexer" // the package is generated by re2c



func lex(st *lexer.State) int {
	var t int
	
{
	var yych byte
	goto yy0
yy1:
	st.Cur++
yy0:
	yych = st.Data[st.Cur]
	switch (yych) {
	case 'a':
		goto yy1
	case 'b':
		st.Tag1 = st.Cur
		goto yy3
	default:
		st.Tag1 = st.Cur
		goto yy2
	}
yy2:
	t = st.Tag1
	{ return t }
yy3:
	st.Cur++
	yych = st.Data[st.Cur]
	switch (yych) {
	case 'b':
		goto yy3
	default:
		goto yy2
	}
}

}

func main() {
	st := &lexer.State{Data:"ab\x00",}
	if lex(st) != 1 {
		panic("error")
	}
}
// Code generated by re2c, DO NOT EDIT.

package lexer

type State struct {
	Data string
	Cur , Tag1 int
}
go/headers/header.re:28:15: warning: rule matches empty string [-Wmatch-empty-string]
