// Code generated by re2c, DO NOT EDIT. //line "go/reuse/reuse.re":1 //go:generate re2go $INPUT -o $OUTPUT -r --input-encoding utf8 package main import "testing" //line "go/reuse/reuse.re":15 func lexUTF8(str []uint8) int { var cursor, marker int //line "go/reuse/reuse.go":15 { var yych uint8 yych = str[cursor] switch (yych) { case 0xE2: goto yy4 default: goto yy2 } yy2: cursor += 1 yy3: //line "go/reuse/reuse.re":14 { return 1; } //line "go/reuse/reuse.go":30 yy4: cursor += 1 marker = cursor yych = str[cursor] switch (yych) { case 0x88: goto yy5 default: goto yy3 } yy5: cursor += 1 yych = str[cursor] switch (yych) { case 0x80: goto yy7 default: goto yy6 } yy6: cursor = marker goto yy3 yy7: cursor += 1 yych = str[cursor] switch (yych) { case 'x': goto yy8 default: goto yy6 } yy8: cursor += 1 yych = str[cursor] switch (yych) { case ' ': goto yy9 default: goto yy6 } yy9: cursor += 1 yych = str[cursor] switch (yych) { case 0xE2: goto yy10 default: goto yy6 } yy10: cursor += 1 yych = str[cursor] switch (yych) { case 0x88: goto yy11 default: goto yy6 } yy11: cursor += 1 yych = str[cursor] switch (yych) { case 0x83: goto yy12 default: goto yy6 } yy12: cursor += 1 yych = str[cursor] switch (yych) { case 'y': goto yy13 default: goto yy6 } yy13: cursor += 1 yych = str[cursor] switch (yych) { case ':': goto yy14 default: goto yy6 } yy14: cursor += 1 yych = str[cursor] switch (yych) { case ' ': goto yy15 default: goto yy6 } yy15: cursor += 1 yych = str[cursor] switch (yych) { case 'p': goto yy16 default: goto yy6 } yy16: cursor += 1 yych = str[cursor] switch (yych) { case '(': goto yy17 default: goto yy6 } yy17: cursor += 1 yych = str[cursor] switch (yych) { case 'x': goto yy18 default: goto yy6 } yy18: cursor += 1 yych = str[cursor] switch (yych) { case ',': goto yy19 default: goto yy6 } yy19: cursor += 1 yych = str[cursor] switch (yych) { case ' ': goto yy20 default: goto yy6 } yy20: cursor += 1 yych = str[cursor] switch (yych) { case 'y': goto yy21 default: goto yy6 } yy21: cursor += 1 yych = str[cursor] switch (yych) { case ')': goto yy22 default: goto yy6 } yy22: cursor += 1 //line "go/reuse/reuse.re":13 { return 0; } //line "go/reuse/reuse.go":192 } //line "go/reuse/reuse.re":22 } func lexUTF32(str []uint32) int { var cursor, marker int //line "go/reuse/reuse.go":201 { var yych uint32 yych = str[cursor] if (yych == 0x00002200) { goto yy28 } cursor += 1 yy27: //line "go/reuse/reuse.re":14 { return 1; } //line "go/reuse/reuse.go":212 yy28: cursor += 1 marker = cursor yych = str[cursor] if (yych != 'x') { goto yy27 } cursor += 1 yych = str[cursor] if (yych == ' ') { goto yy31 } yy30: cursor = marker goto yy27 yy31: cursor += 1 yych = str[cursor] if (yych != 0x00002203) { goto yy30 } cursor += 1 yych = str[cursor] if (yych != 'y') { goto yy30 } cursor += 1 yych = str[cursor] if (yych != ':') { goto yy30 } cursor += 1 yych = str[cursor] if (yych != ' ') { goto yy30 } cursor += 1 yych = str[cursor] if (yych != 'p') { goto yy30 } cursor += 1 yych = str[cursor] if (yych != '(') { goto yy30 } cursor += 1 yych = str[cursor] if (yych != 'x') { goto yy30 } cursor += 1 yych = str[cursor] if (yych != ',') { goto yy30 } cursor += 1 yych = str[cursor] if (yych != ' ') { goto yy30 } cursor += 1 yych = str[cursor] if (yych != 'y') { goto yy30 } cursor += 1 yych = str[cursor] if (yych != ')') { goto yy30 } cursor += 1 //line "go/reuse/reuse.re":13 { return 0; } //line "go/reuse/reuse.go":287 } //line "go/reuse/reuse.re":30 } func TestLexUTF8(t *testing.T) { s_utf8 := []uint8{ 0xe2, 0x88, 0x80, 0x78, 0x20, 0xe2, 0x88, 0x83, 0x79, 0x3a, 0x20, 0x70, 0x28, 0x78, 0x2c, 0x20, 0x79, 0x29}; if lexUTF8(s_utf8) != 0 { t.Errorf("utf8 failed") } } func TestLexUTF32(t *testing.T) { s_utf32 := []uint32{ 0x00002200, 0x00000078, 0x00000020, 0x00002203, 0x00000079, 0x0000003a, 0x00000020, 0x00000070, 0x00000028, 0x00000078, 0x0000002c, 0x00000020, 0x00000079, 0x00000029}; if lexUTF32(s_utf32) != 0 { t.Errorf("utf32 failed") } }