1//go:generate re2go -c $INPUT -o $OUTPUT -i
2package main
3
4import "testing"
5/*!include:re2c "definitions.go" */
6
7func lex(str string) int {
8	var cursor, marker int
9	/*!re2c
10	re2c:define:YYCTYPE   = byte;
11	re2c:define:YYPEEK    = "str[cursor]";
12	re2c:define:YYSKIP    = "cursor += 1";
13	re2c:define:YYBACKUP  = "marker = cursor";
14	re2c:define:YYRESTORE = "cursor = marker";
15	re2c:yyfill:enable    = 0;
16
17	number { return ResultOk }
18	!include "extra_rules.re.inc";
19	* { return ResultFail }
20	*/
21}
22
23func TestLex(t *testing.T) {
24	if lex("123\000") != ResultOk {
25		t.Errorf("error")
26	}
27	if lex("123.4567\000") != ResultOk {
28		t.Errorf("error")
29	}
30}
31