1556 lines
24 KiB
Go
1556 lines
24 KiB
Go
// 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 == '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 == '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 == '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 == '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
|
|
}
|