summaryrefslogtreecommitdiffstats
path: root/vendor/modernc.org/cc/v3/lexer.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/modernc.org/cc/v3/lexer.go')
-rw-r--r--vendor/modernc.org/cc/v3/lexer.go1555
1 files changed, 1555 insertions, 0 deletions
diff --git a/vendor/modernc.org/cc/v3/lexer.go b/vendor/modernc.org/cc/v3/lexer.go
new file mode 100644
index 00000000..d1366135
--- /dev/null
+++ b/vendor/modernc.org/cc/v3/lexer.go
@@ -0,0 +1,1555 @@
+// Code generated by golex. DO NOT EDIT.
+
+// Copyright 2019 The CC Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package cc // import "modernc.org/cc/v3"
+
+func (s *scanner) scan() (r rune) {
+
+yystate0:
+ yyrule := -1
+ _ = yyrule
+ c := s.initScan()
+
+ goto yystart1
+
+yyAction:
+ switch yyrule {
+ case 1:
+ goto yyrule1
+ case 2:
+ goto yyrule2
+ case 3:
+ goto yyrule3
+ case 4:
+ goto yyrule4
+ case 5:
+ goto yyrule5
+ case 6:
+ goto yyrule6
+ case 7:
+ goto yyrule7
+ case 8:
+ goto yyrule8
+ case 9:
+ goto yyrule9
+ case 10:
+ goto yyrule10
+ case 11:
+ goto yyrule11
+ case 12:
+ goto yyrule12
+ case 13:
+ goto yyrule13
+ case 14:
+ goto yyrule14
+ case 15:
+ goto yyrule15
+ case 16:
+ goto yyrule16
+ case 17:
+ goto yyrule17
+ case 18:
+ goto yyrule18
+ case 19:
+ goto yyrule19
+ case 20:
+ goto yyrule20
+ case 21:
+ goto yyrule21
+ case 22:
+ goto yyrule22
+ case 23:
+ goto yyrule23
+ case 24:
+ goto yyrule24
+ case 25:
+ goto yyrule25
+ case 26:
+ goto yyrule26
+ case 27:
+ goto yyrule27
+ case 28:
+ goto yyrule28
+ case 29:
+ goto yyrule29
+ case 30:
+ goto yyrule30
+ case 31:
+ goto yyrule31
+ case 32:
+ goto yyrule32
+ case 33:
+ goto yyrule33
+ case 34:
+ goto yyrule34
+ case 35:
+ goto yyrule35
+ case 36:
+ goto yyrule36
+ case 37:
+ goto yyrule37
+ case 38:
+ goto yyrule38
+ case 39:
+ goto yyrule39
+ }
+yystate1:
+ c = s.next()
+yystart1:
+ switch {
+ default:
+ goto yyabort
+ case c == '!':
+ goto yystate16
+ case c == '"':
+ goto yystate18
+ case c == '#':
+ goto yystate29
+ case c == '$' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c == '\u0081':
+ goto yystate31
+ case c == '%':
+ goto yystate41
+ case c == '&':
+ goto yystate47
+ case c == '*':
+ goto yystate62
+ case c == '+':
+ goto yystate64
+ case c == '-':
+ goto yystate67
+ case c == '.':
+ goto yystate71
+ case c == '/':
+ goto yystate85
+ case c == ':':
+ goto yystate88
+ case c == '<':
+ goto yystate90
+ case c == '=':
+ goto yystate96
+ case c == '>':
+ goto yystate98
+ case c == 'L':
+ goto yystate102
+ case c == '\'':
+ goto yystate50
+ case c == '\\':
+ goto yystate32
+ case c == '\n':
+ goto yystate14
+ case c == '\r':
+ goto yystate15
+ case c == '\t' || c == '\v' || c == '\f' || c == ' ':
+ goto yystate2
+ case c == '^':
+ goto yystate126
+ case c == '|':
+ goto yystate128
+ case c >= '0' && c <= '9':
+ goto yystate74
+ }
+
+yystate2:
+ c = s.next()
+ yyrule = 2
+ s.mark = len(s.charBuf)
+ switch {
+ default:
+ goto yyrule2
+ case c == '/':
+ goto yystate3
+ case c == '\t' || c == '\v' || c == '\f' || c == ' ':
+ goto yystate2
+ }
+
+yystate3:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '*':
+ goto yystate4
+ case c == '/':
+ goto yystate13
+ }
+
+yystate4:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '*':
+ goto yystate6
+ case c == '\n':
+ goto yystate5
+ case c >= '\x01' && c <= '\t' || c >= '\v' && c <= ')' || c >= '+' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
+ goto yystate4
+ }
+
+yystate5:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '*':
+ goto yystate6
+ case c == '\n':
+ goto yystate5
+ case c == '\u0080':
+ goto yystate7
+ case c >= '\x01' && c <= '\t' || c >= '\v' && c <= ')' || c >= '+' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
+ goto yystate4
+ }
+
+yystate6:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '*':
+ goto yystate6
+ case c == '/':
+ goto yystate2
+ case c == '\n':
+ goto yystate5
+ case c >= '\x01' && c <= '\t' || c >= '\v' && c <= ')' || c >= '+' && c <= '.' || c >= '0' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
+ goto yystate4
+ }
+
+yystate7:
+ c = s.next()
+ yyrule = 3
+ s.mark = len(s.charBuf)
+ switch {
+ default:
+ goto yyrule3
+ case c == '/':
+ goto yystate9
+ case c == '\t' || c == '\v' || c == '\f' || c == ' ':
+ goto yystate8
+ }
+
+yystate8:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '/':
+ goto yystate9
+ case c == '\t' || c == '\v' || c == '\f' || c == ' ':
+ goto yystate8
+ }
+
+yystate9:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '*':
+ goto yystate10
+ }
+
+yystate10:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '*':
+ goto yystate12
+ case c == '\n':
+ goto yystate11
+ case c >= '\x01' && c <= '\t' || c >= '\v' && c <= ')' || c >= '+' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
+ goto yystate10
+ }
+
+yystate11:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '*':
+ goto yystate12
+ case c == '\n':
+ goto yystate11
+ case c == '\u0080':
+ goto yystate7
+ case c >= '\x01' && c <= '\t' || c >= '\v' && c <= ')' || c >= '+' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
+ goto yystate10
+ }
+
+yystate12:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '*':
+ goto yystate12
+ case c == '/':
+ goto yystate8
+ case c == '\n':
+ goto yystate11
+ case c >= '\x01' && c <= '\t' || c >= '\v' && c <= ')' || c >= '+' && c <= '.' || c >= '0' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
+ goto yystate10
+ }
+
+yystate13:
+ c = s.next()
+ yyrule = 1
+ s.mark = len(s.charBuf)
+ switch {
+ default:
+ goto yyrule1
+ case c >= '\x01' && c <= '\t' || c >= '\v' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
+ goto yystate13
+ }
+
+yystate14:
+ c = s.next()
+ yyrule = 39
+ s.mark = len(s.charBuf)
+ goto yyrule39
+
+yystate15:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '\n':
+ goto yystate14
+ }
+
+yystate16:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '=':
+ goto yystate17
+ }
+
+yystate17:
+ c = s.next()
+ yyrule = 4
+ s.mark = len(s.charBuf)
+ goto yyrule4
+
+yystate18:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '"':
+ goto yystate19
+ case c == '\\':
+ goto yystate20
+ case c >= '\x01' && c <= '\t' || c >= '\v' && c <= '!' || c >= '#' && c <= '[' || c >= ']' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
+ goto yystate18
+ }
+
+yystate19:
+ c = s.next()
+ yyrule = 38
+ s.mark = len(s.charBuf)
+ goto yyrule38
+
+yystate20:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '"' || c == '\'' || c >= '0' && c <= '7' || c == '?' || c == '\\' || c == 'a' || c == 'b' || c == 'e' || c == 'f' || c == 'n' || c == 'r' || c == 't' || c == 'v':
+ goto yystate18
+ case c == 'U':
+ goto yystate21
+ case c == 'u':
+ goto yystate25
+ case c == 'x':
+ goto yystate28
+ }
+
+yystate21:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate22
+ }
+
+yystate22:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate23
+ }
+
+yystate23:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate24
+ }
+
+yystate24:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate25
+ }
+
+yystate25:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate26
+ }
+
+yystate26:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate27
+ }
+
+yystate27:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate28
+ }
+
+yystate28:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate18
+ }
+
+yystate29:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '#':
+ goto yystate30
+ }
+
+yystate30:
+ c = s.next()
+ yyrule = 5
+ s.mark = len(s.charBuf)
+ goto yyrule5
+
+yystate31:
+ c = s.next()
+ yyrule = 36
+ s.mark = len(s.charBuf)
+ switch {
+ default:
+ goto yyrule36
+ case c == '$' || c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c == '\u0081':
+ goto yystate31
+ case c == '\\':
+ goto yystate32
+ }
+
+yystate32:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == 'U':
+ goto yystate33
+ case c == 'u':
+ goto yystate37
+ }
+
+yystate33:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate34
+ }
+
+yystate34:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate35
+ }
+
+yystate35:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate36
+ }
+
+yystate36:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate37
+ }
+
+yystate37:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate38
+ }
+
+yystate38:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate39
+ }
+
+yystate39:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate40
+ }
+
+yystate40:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate31
+ }
+
+yystate41:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == ':':
+ goto yystate42
+ case c == '=':
+ goto yystate45
+ case c == '>':
+ goto yystate46
+ }
+
+yystate42:
+ c = s.next()
+ yyrule = 6
+ s.mark = len(s.charBuf)
+ switch {
+ default:
+ goto yyrule6
+ case c == '%':
+ goto yystate43
+ }
+
+yystate43:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == ':':
+ goto yystate44
+ }
+
+yystate44:
+ c = s.next()
+ yyrule = 7
+ s.mark = len(s.charBuf)
+ goto yyrule7
+
+yystate45:
+ c = s.next()
+ yyrule = 8
+ s.mark = len(s.charBuf)
+ goto yyrule8
+
+yystate46:
+ c = s.next()
+ yyrule = 9
+ s.mark = len(s.charBuf)
+ goto yyrule9
+
+yystate47:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '&':
+ goto yystate48
+ case c == '=':
+ goto yystate49
+ }
+
+yystate48:
+ c = s.next()
+ yyrule = 10
+ s.mark = len(s.charBuf)
+ goto yyrule10
+
+yystate49:
+ c = s.next()
+ yyrule = 11
+ s.mark = len(s.charBuf)
+ goto yyrule11
+
+yystate50:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '\\':
+ goto yystate53
+ case c >= '\x01' && c <= '\t' || c >= '\v' && c <= '&' || c >= '(' && c <= '[' || c >= ']' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
+ goto yystate51
+ }
+
+yystate51:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '\'':
+ goto yystate52
+ case c == '\\':
+ goto yystate53
+ case c >= '\x01' && c <= '\t' || c >= '\v' && c <= '&' || c >= '(' && c <= '[' || c >= ']' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
+ goto yystate51
+ }
+
+yystate52:
+ c = s.next()
+ yyrule = 35
+ s.mark = len(s.charBuf)
+ goto yyrule35
+
+yystate53:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '"' || c == '\'' || c >= '0' && c <= '7' || c == '?' || c == '\\' || c == 'a' || c == 'b' || c == 'e' || c == 'f' || c == 'n' || c == 'r' || c == 't' || c == 'v':
+ goto yystate51
+ case c == 'U':
+ goto yystate54
+ case c == 'u':
+ goto yystate58
+ case c == 'x':
+ goto yystate61
+ }
+
+yystate54:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate55
+ }
+
+yystate55:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate56
+ }
+
+yystate56:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate57
+ }
+
+yystate57:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate58
+ }
+
+yystate58:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate59
+ }
+
+yystate59:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate60
+ }
+
+yystate60:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate61
+ }
+
+yystate61:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate51
+ }
+
+yystate62:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '=':
+ goto yystate63
+ }
+
+yystate63:
+ c = s.next()
+ yyrule = 12
+ s.mark = len(s.charBuf)
+ goto yyrule12
+
+yystate64:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '+':
+ goto yystate65
+ case c == '=':
+ goto yystate66
+ }
+
+yystate65:
+ c = s.next()
+ yyrule = 13
+ s.mark = len(s.charBuf)
+ goto yyrule13
+
+yystate66:
+ c = s.next()
+ yyrule = 14
+ s.mark = len(s.charBuf)
+ goto yyrule14
+
+yystate67:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '-':
+ goto yystate68
+ case c == '=':
+ goto yystate69
+ case c == '>':
+ goto yystate70
+ }
+
+yystate68:
+ c = s.next()
+ yyrule = 15
+ s.mark = len(s.charBuf)
+ goto yyrule15
+
+yystate69:
+ c = s.next()
+ yyrule = 16
+ s.mark = len(s.charBuf)
+ goto yyrule16
+
+yystate70:
+ c = s.next()
+ yyrule = 17
+ s.mark = len(s.charBuf)
+ goto yyrule17
+
+yystate71:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '.':
+ goto yystate72
+ case c >= '0' && c <= '9':
+ goto yystate74
+ }
+
+yystate72:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '.':
+ goto yystate73
+ }
+
+yystate73:
+ c = s.next()
+ yyrule = 18
+ s.mark = len(s.charBuf)
+ goto yyrule18
+
+yystate74:
+ c = s.next()
+ yyrule = 37
+ s.mark = len(s.charBuf)
+ switch {
+ default:
+ goto yyrule37
+ case c == '$' || c == '.' || c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'O' || c >= 'Q' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'o' || c >= 'q' && c <= 'z' || c == '\u0081':
+ goto yystate74
+ case c == 'E' || c == 'P' || c == 'e' || c == 'p':
+ goto yystate75
+ case c == '\\':
+ goto yystate76
+ }
+
+yystate75:
+ c = s.next()
+ yyrule = 37
+ s.mark = len(s.charBuf)
+ switch {
+ default:
+ goto yyrule37
+ case c == '$' || c == '+' || c == '-' || c == '.' || c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'O' || c >= 'Q' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'o' || c >= 'q' && c <= 'z' || c == '\u0081':
+ goto yystate74
+ case c == 'E' || c == 'P' || c == 'e' || c == 'p':
+ goto yystate75
+ case c == '\\':
+ goto yystate76
+ }
+
+yystate76:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == 'U':
+ goto yystate77
+ case c == 'u':
+ goto yystate81
+ }
+
+yystate77:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate78
+ }
+
+yystate78:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate79
+ }
+
+yystate79:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate80
+ }
+
+yystate80:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate81
+ }
+
+yystate81:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate82
+ }
+
+yystate82:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate83
+ }
+
+yystate83:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate84
+ }
+
+yystate84:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate74
+ }
+
+yystate85:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '*':
+ goto yystate4
+ case c == '/':
+ goto yystate86
+ case c == '=':
+ goto yystate87
+ }
+
+yystate86:
+ c = s.next()
+ yyrule = 1
+ s.mark = len(s.charBuf)
+ switch {
+ default:
+ goto yyrule1
+ case c >= '\x01' && c <= '\t' || c >= '\v' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
+ goto yystate86
+ }
+
+yystate87:
+ c = s.next()
+ yyrule = 19
+ s.mark = len(s.charBuf)
+ goto yyrule19
+
+yystate88:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '>':
+ goto yystate89
+ }
+
+yystate89:
+ c = s.next()
+ yyrule = 20
+ s.mark = len(s.charBuf)
+ goto yyrule20
+
+yystate90:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '%':
+ goto yystate91
+ case c == ':':
+ goto yystate92
+ case c == '<':
+ goto yystate93
+ case c == '=':
+ goto yystate95
+ }
+
+yystate91:
+ c = s.next()
+ yyrule = 21
+ s.mark = len(s.charBuf)
+ goto yyrule21
+
+yystate92:
+ c = s.next()
+ yyrule = 22
+ s.mark = len(s.charBuf)
+ goto yyrule22
+
+yystate93:
+ c = s.next()
+ yyrule = 23
+ s.mark = len(s.charBuf)
+ switch {
+ default:
+ goto yyrule23
+ case c == '=':
+ goto yystate94
+ }
+
+yystate94:
+ c = s.next()
+ yyrule = 24
+ s.mark = len(s.charBuf)
+ goto yyrule24
+
+yystate95:
+ c = s.next()
+ yyrule = 25
+ s.mark = len(s.charBuf)
+ goto yyrule25
+
+yystate96:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '=':
+ goto yystate97
+ }
+
+yystate97:
+ c = s.next()
+ yyrule = 26
+ s.mark = len(s.charBuf)
+ goto yyrule26
+
+yystate98:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '=':
+ goto yystate99
+ case c == '>':
+ goto yystate100
+ }
+
+yystate99:
+ c = s.next()
+ yyrule = 27
+ s.mark = len(s.charBuf)
+ goto yyrule27
+
+yystate100:
+ c = s.next()
+ yyrule = 28
+ s.mark = len(s.charBuf)
+ switch {
+ default:
+ goto yyrule28
+ case c == '=':
+ goto yystate101
+ }
+
+yystate101:
+ c = s.next()
+ yyrule = 29
+ s.mark = len(s.charBuf)
+ goto yyrule29
+
+yystate102:
+ c = s.next()
+ yyrule = 36
+ s.mark = len(s.charBuf)
+ switch {
+ default:
+ goto yyrule36
+ case c == '"':
+ goto yystate103
+ case c == '$' || c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c == '\u0081':
+ goto yystate31
+ case c == '\'':
+ goto yystate114
+ case c == '\\':
+ goto yystate32
+ }
+
+yystate103:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '"':
+ goto yystate104
+ case c == '\\':
+ goto yystate105
+ case c >= '\x01' && c <= '\t' || c >= '\v' && c <= '!' || c >= '#' && c <= '[' || c >= ']' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
+ goto yystate103
+ }
+
+yystate104:
+ c = s.next()
+ yyrule = 33
+ s.mark = len(s.charBuf)
+ goto yyrule33
+
+yystate105:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '"' || c == '\'' || c >= '0' && c <= '7' || c == '?' || c == '\\' || c == 'a' || c == 'b' || c == 'e' || c == 'f' || c == 'n' || c == 'r' || c == 't' || c == 'v':
+ goto yystate103
+ case c == 'U':
+ goto yystate106
+ case c == 'u':
+ goto yystate110
+ case c == 'x':
+ goto yystate113
+ }
+
+yystate106:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate107
+ }
+
+yystate107:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate108
+ }
+
+yystate108:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate109
+ }
+
+yystate109:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate110
+ }
+
+yystate110:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate111
+ }
+
+yystate111:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate112
+ }
+
+yystate112:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate113
+ }
+
+yystate113:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate103
+ }
+
+yystate114:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '\\':
+ goto yystate117
+ case c >= '\x01' && c <= '\t' || c >= '\v' && c <= '&' || c >= '(' && c <= '[' || c >= ']' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
+ goto yystate115
+ }
+
+yystate115:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '\'':
+ goto yystate116
+ case c == '\\':
+ goto yystate117
+ case c >= '\x01' && c <= '\t' || c >= '\v' && c <= '&' || c >= '(' && c <= '[' || c >= ']' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
+ goto yystate115
+ }
+
+yystate116:
+ c = s.next()
+ yyrule = 34
+ s.mark = len(s.charBuf)
+ goto yyrule34
+
+yystate117:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '"' || c == '\'' || c >= '0' && c <= '7' || c == '?' || c == '\\' || c == 'a' || c == 'b' || c == 'e' || c == 'f' || c == 'n' || c == 'r' || c == 't' || c == 'v':
+ goto yystate115
+ case c == 'U':
+ goto yystate118
+ case c == 'u':
+ goto yystate122
+ case c == 'x':
+ goto yystate125
+ }
+
+yystate118:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate119
+ }
+
+yystate119:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate120
+ }
+
+yystate120:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate121
+ }
+
+yystate121:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate122
+ }
+
+yystate122:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate123
+ }
+
+yystate123:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate124
+ }
+
+yystate124:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate125
+ }
+
+yystate125:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
+ goto yystate115
+ }
+
+yystate126:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '=':
+ goto yystate127
+ }
+
+yystate127:
+ c = s.next()
+ yyrule = 30
+ s.mark = len(s.charBuf)
+ goto yyrule30
+
+yystate128:
+ c = s.next()
+ switch {
+ default:
+ goto yyabort
+ case c == '=':
+ goto yystate129
+ case c == '|':
+ goto yystate130
+ }
+
+yystate129:
+ c = s.next()
+ yyrule = 31
+ s.mark = len(s.charBuf)
+ goto yyrule31
+
+yystate130:
+ c = s.next()
+ yyrule = 32
+ s.mark = len(s.charBuf)
+ goto yyrule32
+
+yyrule1: // ({white-space}|{comment})*{line-comment}
+yyrule2: // ({white-space}|{comment})+{line-comment}?
+ {
+
+ return ' '
+ }
+yyrule3: // (({white-space}|{comment})*{comment-not-terminated})+
+ {
+
+ return s.unterminatedComment()
+ }
+yyrule4: // "!="
+ {
+ return NEQ
+ }
+yyrule5: // "##"
+ {
+ return PPPASTE
+ }
+yyrule6: // "%:"
+ {
+ return '#'
+ }
+yyrule7: // "%:%:"
+ {
+ return PPPASTE
+ }
+yyrule8: // "%="
+ {
+ return MODASSIGN
+ }
+yyrule9: // "%>"
+ {
+ return '}'
+ }
+yyrule10: // "&&"
+ {
+ return ANDAND
+ }
+yyrule11: // "&="
+ {
+ return ANDASSIGN
+ }
+yyrule12: // "*="
+ {
+ return MULASSIGN
+ }
+yyrule13: // "++"
+ {
+ return INC
+ }
+yyrule14: // "+="
+ {
+ return ADDASSIGN
+ }
+yyrule15: // "--"
+ {
+ return DEC
+ }
+yyrule16: // "-="
+ {
+ return SUBASSIGN
+ }
+yyrule17: // "->"
+ {
+ return ARROW
+ }
+yyrule18: // "..."
+ {
+ return DDD
+ }
+yyrule19: // "/="
+ {
+ return DIVASSIGN
+ }
+yyrule20: // ":>"
+ {
+ return ']'
+ }
+yyrule21: // "<%"
+ {
+ return '{'
+ }
+yyrule22: // "<:"
+ {
+ return '['
+ }
+yyrule23: // "<<"
+ {
+ return LSH
+ }
+yyrule24: // "<<="
+ {
+ return LSHASSIGN
+ }
+yyrule25: // "<="
+ {
+ return LEQ
+ }
+yyrule26: // "=="
+ {
+ return EQ
+ }
+yyrule27: // ">="
+ {
+ return GEQ
+ }
+yyrule28: // ">>"
+ {
+ return RSH
+ }
+yyrule29: // ">>="
+ {
+ return RSHASSIGN
+ }
+yyrule30: // "^="
+ {
+ return XORASSIGN
+ }
+yyrule31: // "|="
+ {
+ return ORASSIGN
+ }
+yyrule32: // "||"
+ {
+ return OROR
+ }
+yyrule33: // L{string-literal}
+ {
+ return LONGSTRINGLITERAL
+ }
+yyrule34: // L{character-constant}
+ {
+ return LONGCHARCONST
+ }
+yyrule35: // {character-constant}
+ {
+ return CHARCONST
+ }
+yyrule36: // {identifier}
+ {
+ return IDENTIFIER
+ }
+yyrule37: // {pp-number}
+ {
+ return PPNUMBER
+ }
+yyrule38: // {string-literal}
+ {
+ return STRINGLITERAL
+ }
+yyrule39: // \r?\n
+ if true { // avoid go vet determining the below panic will not be reached
+ return '\n'
+ }
+ panic("unreachable")
+
+yyabort: // no lexem recognized
+ //
+ // silence unused label errors for build and satisfy go vet reachability analysis
+ //
+ {
+ if false {
+ goto yyabort
+ }
+ if false {
+ goto yystate0
+ }
+ if false {
+ goto yystate1
+ }
+ }
+
+ if c, ok := s.abort(); ok {
+ return rune(c)
+ }
+
+ goto yyAction
+}