mirror of
https://github.com/unidoc/unioffice.git
synced 2025-04-27 13:48:54 +08:00
2626 lines
38 KiB
Go
2626 lines
38 KiB
Go
// line 1 "lexer.rl"
|
|
// Copyright 2017 Baliance. All rights reserved.
|
|
//
|
|
// Use of this source code is governed by the terms of the Affero GNU General
|
|
// Public License version 3.0 as published by the Free Software Foundation and
|
|
// appearing in the file LICENSE included in the packaging of this file. A
|
|
// commercial license can be purchased by contacting sales@baliance.com.
|
|
|
|
package formula
|
|
|
|
import (
|
|
"io"
|
|
)
|
|
|
|
// line 20 "lexer.go"
|
|
const formula_start int = 27
|
|
const formula_first_final int = 27
|
|
const formula_error int = 0
|
|
|
|
const formula_en_main int = 27
|
|
|
|
// line 107 "lexer.rl"
|
|
|
|
func (l *Lexer) lex(r io.Reader) {
|
|
cs, p, pe := 0, 0, 0
|
|
eof := -1
|
|
ts, te, act := 0, 0, 0
|
|
_ = act
|
|
curline := 1
|
|
_ = curline
|
|
data := make([]byte, 4096)
|
|
|
|
done := false
|
|
for !done {
|
|
// p - index of next character to process
|
|
// pe - index of the end of the data
|
|
// eof - index of the end of the file
|
|
// ts - index of the start of the current token
|
|
// te - index of the end of the current token
|
|
|
|
// still have a partial token
|
|
rem := 0
|
|
if ts > 0 {
|
|
rem = p - ts
|
|
}
|
|
p = 0
|
|
n, err := r.Read(data[rem:])
|
|
if n == 0 || err != nil {
|
|
done = true
|
|
}
|
|
pe = n + rem
|
|
if pe < len(data) {
|
|
eof = pe
|
|
}
|
|
|
|
// line 63 "lexer.go"
|
|
{
|
|
cs = formula_start
|
|
ts = 0
|
|
te = 0
|
|
act = 0
|
|
}
|
|
|
|
// line 71 "lexer.go"
|
|
{
|
|
if p == pe {
|
|
goto _test_eof
|
|
}
|
|
switch cs {
|
|
case 27:
|
|
goto st_case_27
|
|
case 1:
|
|
goto st_case_1
|
|
case 0:
|
|
goto st_case_0
|
|
case 2:
|
|
goto st_case_2
|
|
case 28:
|
|
goto st_case_28
|
|
case 3:
|
|
goto st_case_3
|
|
case 4:
|
|
goto st_case_4
|
|
case 5:
|
|
goto st_case_5
|
|
case 6:
|
|
goto st_case_6
|
|
case 7:
|
|
goto st_case_7
|
|
case 8:
|
|
goto st_case_8
|
|
case 9:
|
|
goto st_case_9
|
|
case 10:
|
|
goto st_case_10
|
|
case 11:
|
|
goto st_case_11
|
|
case 12:
|
|
goto st_case_12
|
|
case 13:
|
|
goto st_case_13
|
|
case 14:
|
|
goto st_case_14
|
|
case 15:
|
|
goto st_case_15
|
|
case 29:
|
|
goto st_case_29
|
|
case 16:
|
|
goto st_case_16
|
|
case 17:
|
|
goto st_case_17
|
|
case 30:
|
|
goto st_case_30
|
|
case 18:
|
|
goto st_case_18
|
|
case 19:
|
|
goto st_case_19
|
|
case 20:
|
|
goto st_case_20
|
|
case 31:
|
|
goto st_case_31
|
|
case 32:
|
|
goto st_case_32
|
|
case 21:
|
|
goto st_case_21
|
|
case 33:
|
|
goto st_case_33
|
|
case 34:
|
|
goto st_case_34
|
|
case 35:
|
|
goto st_case_35
|
|
case 22:
|
|
goto st_case_22
|
|
case 36:
|
|
goto st_case_36
|
|
case 37:
|
|
goto st_case_37
|
|
case 38:
|
|
goto st_case_38
|
|
case 39:
|
|
goto st_case_39
|
|
case 40:
|
|
goto st_case_40
|
|
case 23:
|
|
goto st_case_23
|
|
case 41:
|
|
goto st_case_41
|
|
case 42:
|
|
goto st_case_42
|
|
case 43:
|
|
goto st_case_43
|
|
case 24:
|
|
goto st_case_24
|
|
case 44:
|
|
goto st_case_44
|
|
case 45:
|
|
goto st_case_45
|
|
case 46:
|
|
goto st_case_46
|
|
case 25:
|
|
goto st_case_25
|
|
case 26:
|
|
goto st_case_26
|
|
case 47:
|
|
goto st_case_47
|
|
case 48:
|
|
goto st_case_48
|
|
case 49:
|
|
goto st_case_49
|
|
case 50:
|
|
goto st_case_50
|
|
case 51:
|
|
goto st_case_51
|
|
case 52:
|
|
goto st_case_52
|
|
case 53:
|
|
goto st_case_53
|
|
case 54:
|
|
goto st_case_54
|
|
case 55:
|
|
goto st_case_55
|
|
}
|
|
goto st_out
|
|
tr0:
|
|
// line 1 "NONE"
|
|
|
|
switch act {
|
|
case 0:
|
|
{
|
|
{
|
|
goto st0
|
|
}
|
|
}
|
|
case 1:
|
|
{
|
|
p = (te) - 1
|
|
l.emit(tokenBool, data[ts:te])
|
|
}
|
|
case 2:
|
|
{
|
|
p = (te) - 1
|
|
l.emit(tokenNumber, data[ts:te])
|
|
}
|
|
case 3:
|
|
{
|
|
p = (te) - 1
|
|
l.emit(tokenCell, data[ts:te])
|
|
}
|
|
case 4:
|
|
{
|
|
p = (te) - 1
|
|
l.emit(tokenDDECall, data[ts:te])
|
|
}
|
|
case 10:
|
|
{
|
|
p = (te) - 1
|
|
l.emit(tokenReservedName, data[ts:te])
|
|
}
|
|
case 13:
|
|
{
|
|
p = (te) - 1
|
|
l.emit(tokenNamedRange, data[ts:te])
|
|
}
|
|
case 14:
|
|
{
|
|
p = (te) - 1
|
|
l.emit(tokenString, data[ts+1:te-1])
|
|
}
|
|
}
|
|
|
|
goto st27
|
|
tr2:
|
|
// line 62 "lexer.rl"
|
|
|
|
te = p + 1
|
|
{
|
|
l.emit(tokenSheet, data[ts:te-1])
|
|
}
|
|
goto st27
|
|
tr10:
|
|
// line 59 "lexer.rl"
|
|
|
|
te = p + 1
|
|
{
|
|
l.emit(tokenError, data[ts:te])
|
|
}
|
|
goto st27
|
|
tr15:
|
|
// line 60 "lexer.rl"
|
|
|
|
te = p + 1
|
|
{
|
|
l.emit(tokenErrorRef, data[ts:te])
|
|
}
|
|
goto st27
|
|
tr25:
|
|
// line 63 "lexer.rl"
|
|
|
|
te = p + 1
|
|
{
|
|
l.emit(tokenSheet, data[ts+1:te-2])
|
|
}
|
|
goto st27
|
|
tr26:
|
|
// line 56 "lexer.rl"
|
|
|
|
p = (te) - 1
|
|
{
|
|
l.emit(tokenNumber, data[ts:te])
|
|
}
|
|
goto st27
|
|
tr28:
|
|
// line 67 "lexer.rl"
|
|
|
|
te = p + 1
|
|
{
|
|
l.emit(tokenFunctionBuiltin, data[ts:te-1])
|
|
}
|
|
goto st27
|
|
tr40:
|
|
// line 75 "lexer.rl"
|
|
|
|
te = p + 1
|
|
{
|
|
l.emit(tokenAmpersand, data[ts:te])
|
|
}
|
|
goto st27
|
|
tr42:
|
|
// line 78 "lexer.rl"
|
|
|
|
te = p + 1
|
|
{
|
|
l.emit(tokenLParen, data[ts:te])
|
|
}
|
|
goto st27
|
|
tr43:
|
|
// line 79 "lexer.rl"
|
|
|
|
te = p + 1
|
|
{
|
|
l.emit(tokenRParen, data[ts:te])
|
|
}
|
|
goto st27
|
|
tr44:
|
|
// line 82 "lexer.rl"
|
|
|
|
te = p + 1
|
|
{
|
|
l.emit(tokenMult, data[ts:te])
|
|
}
|
|
goto st27
|
|
tr45:
|
|
// line 80 "lexer.rl"
|
|
|
|
te = p + 1
|
|
{
|
|
l.emit(tokenPlus, data[ts:te])
|
|
}
|
|
goto st27
|
|
tr46:
|
|
// line 94 "lexer.rl"
|
|
|
|
te = p + 1
|
|
{
|
|
l.emit(tokenComma, data[ts:te])
|
|
}
|
|
goto st27
|
|
tr47:
|
|
// line 81 "lexer.rl"
|
|
|
|
te = p + 1
|
|
{
|
|
l.emit(tokenMinus, data[ts:te])
|
|
}
|
|
goto st27
|
|
tr48:
|
|
// line 83 "lexer.rl"
|
|
|
|
te = p + 1
|
|
{
|
|
l.emit(tokenDiv, data[ts:te])
|
|
}
|
|
goto st27
|
|
tr50:
|
|
// line 92 "lexer.rl"
|
|
|
|
te = p + 1
|
|
{
|
|
l.emit(tokenColon, data[ts:te])
|
|
}
|
|
goto st27
|
|
tr51:
|
|
// line 93 "lexer.rl"
|
|
|
|
te = p + 1
|
|
{
|
|
l.emit(tokenSemi, data[ts:te])
|
|
}
|
|
goto st27
|
|
tr53:
|
|
// line 87 "lexer.rl"
|
|
|
|
te = p + 1
|
|
{
|
|
l.emit(tokenEQ, data[ts:te])
|
|
}
|
|
goto st27
|
|
tr59:
|
|
// line 84 "lexer.rl"
|
|
|
|
te = p + 1
|
|
{
|
|
l.emit(tokenExp, data[ts:te])
|
|
}
|
|
goto st27
|
|
tr61:
|
|
// line 76 "lexer.rl"
|
|
|
|
te = p + 1
|
|
{
|
|
l.emit(tokenLBrace, data[ts:te])
|
|
}
|
|
goto st27
|
|
tr62:
|
|
// line 77 "lexer.rl"
|
|
|
|
te = p + 1
|
|
{
|
|
l.emit(tokenRBrace, data[ts:te])
|
|
}
|
|
goto st27
|
|
tr63:
|
|
// line 72 "lexer.rl"
|
|
|
|
te = p
|
|
p--
|
|
{
|
|
l.emit(tokenString, data[ts+1:te-1])
|
|
}
|
|
goto st27
|
|
tr64:
|
|
// line 61 "lexer.rl"
|
|
|
|
te = p
|
|
p--
|
|
{
|
|
l.emit(tokenHorizontalRange, data[ts:te])
|
|
}
|
|
goto st27
|
|
tr65:
|
|
// line 57 "lexer.rl"
|
|
|
|
te = p
|
|
p--
|
|
{
|
|
l.emit(tokenCell, data[ts:te])
|
|
}
|
|
goto st27
|
|
tr66:
|
|
// line 56 "lexer.rl"
|
|
|
|
te = p
|
|
p--
|
|
{
|
|
l.emit(tokenNumber, data[ts:te])
|
|
}
|
|
goto st27
|
|
tr69:
|
|
// line 85 "lexer.rl"
|
|
|
|
te = p
|
|
p--
|
|
{
|
|
l.emit(tokenLT, data[ts:te])
|
|
}
|
|
goto st27
|
|
tr70:
|
|
// line 88 "lexer.rl"
|
|
|
|
te = p + 1
|
|
{
|
|
l.emit(tokenLEQ, data[ts:te])
|
|
}
|
|
goto st27
|
|
tr71:
|
|
// line 90 "lexer.rl"
|
|
|
|
te = p + 1
|
|
{
|
|
l.emit(tokenNE, data[ts:te])
|
|
}
|
|
goto st27
|
|
tr72:
|
|
// line 86 "lexer.rl"
|
|
|
|
te = p
|
|
p--
|
|
{
|
|
l.emit(tokenGT, data[ts:te])
|
|
}
|
|
goto st27
|
|
tr73:
|
|
// line 89 "lexer.rl"
|
|
|
|
te = p + 1
|
|
{
|
|
l.emit(tokenGEQ, data[ts:te])
|
|
}
|
|
goto st27
|
|
tr74:
|
|
// line 70 "lexer.rl"
|
|
|
|
te = p
|
|
p--
|
|
{
|
|
l.emit(tokenNamedRange, data[ts:te])
|
|
}
|
|
goto st27
|
|
tr86:
|
|
// line 68 "lexer.rl"
|
|
|
|
te = p + 1
|
|
{
|
|
l.emit(tokenFunctionBuiltin, data[ts:te-1])
|
|
}
|
|
goto st27
|
|
st27:
|
|
// line 1 "NONE"
|
|
|
|
ts = 0
|
|
|
|
// line 1 "NONE"
|
|
|
|
act = 0
|
|
|
|
if p++; p == pe {
|
|
goto _test_eof27
|
|
}
|
|
st_case_27:
|
|
// line 1 "NONE"
|
|
|
|
ts = p
|
|
|
|
// line 431 "lexer.go"
|
|
switch data[p] {
|
|
case 34:
|
|
goto st2
|
|
case 35:
|
|
goto st3
|
|
case 36:
|
|
goto st12
|
|
case 38:
|
|
goto tr40
|
|
case 39:
|
|
goto st18
|
|
case 40:
|
|
goto tr42
|
|
case 41:
|
|
goto tr43
|
|
case 42:
|
|
goto tr44
|
|
case 43:
|
|
goto tr45
|
|
case 44:
|
|
goto tr46
|
|
case 45:
|
|
goto tr47
|
|
case 47:
|
|
goto tr48
|
|
case 58:
|
|
goto tr50
|
|
case 59:
|
|
goto tr51
|
|
case 60:
|
|
goto st34
|
|
case 61:
|
|
goto tr53
|
|
case 62:
|
|
goto st35
|
|
case 63:
|
|
goto st0
|
|
case 70:
|
|
goto st23
|
|
case 84:
|
|
goto st24
|
|
case 92:
|
|
goto st25
|
|
case 94:
|
|
goto tr59
|
|
case 95:
|
|
goto st26
|
|
case 123:
|
|
goto tr61
|
|
case 125:
|
|
goto tr62
|
|
}
|
|
switch {
|
|
case data[p] < 48:
|
|
if 33 <= data[p] && data[p] <= 37 {
|
|
goto st0
|
|
}
|
|
case data[p] > 57:
|
|
switch {
|
|
case data[p] > 90:
|
|
if 91 <= data[p] && data[p] <= 93 {
|
|
goto st0
|
|
}
|
|
case data[p] >= 65:
|
|
goto st22
|
|
}
|
|
default:
|
|
goto tr49
|
|
}
|
|
goto st1
|
|
st1:
|
|
if p++; p == pe {
|
|
goto _test_eof1
|
|
}
|
|
st_case_1:
|
|
switch data[p] {
|
|
case 33:
|
|
goto tr2
|
|
case 47:
|
|
goto tr0
|
|
case 123:
|
|
goto tr0
|
|
case 125:
|
|
goto tr0
|
|
}
|
|
switch {
|
|
case data[p] < 37:
|
|
if 34 <= data[p] && data[p] <= 35 {
|
|
goto tr0
|
|
}
|
|
case data[p] > 45:
|
|
switch {
|
|
case data[p] > 63:
|
|
if 91 <= data[p] && data[p] <= 95 {
|
|
goto tr0
|
|
}
|
|
case data[p] >= 58:
|
|
goto tr0
|
|
}
|
|
default:
|
|
goto tr0
|
|
}
|
|
goto st1
|
|
st_case_0:
|
|
st0:
|
|
cs = 0
|
|
goto _out
|
|
st2:
|
|
if p++; p == pe {
|
|
goto _test_eof2
|
|
}
|
|
st_case_2:
|
|
if data[p] == 34 {
|
|
goto tr4
|
|
}
|
|
goto st2
|
|
tr4:
|
|
// line 1 "NONE"
|
|
|
|
te = p + 1
|
|
|
|
// line 72 "lexer.rl"
|
|
|
|
act = 14
|
|
goto st28
|
|
st28:
|
|
if p++; p == pe {
|
|
goto _test_eof28
|
|
}
|
|
st_case_28:
|
|
// line 562 "lexer.go"
|
|
if data[p] == 34 {
|
|
goto st2
|
|
}
|
|
goto tr63
|
|
st3:
|
|
if p++; p == pe {
|
|
goto _test_eof3
|
|
}
|
|
st_case_3:
|
|
switch data[p] {
|
|
case 78:
|
|
goto st4
|
|
case 82:
|
|
goto st9
|
|
}
|
|
goto st0
|
|
st4:
|
|
if p++; p == pe {
|
|
goto _test_eof4
|
|
}
|
|
st_case_4:
|
|
switch data[p] {
|
|
case 47:
|
|
goto st5
|
|
case 85:
|
|
goto st6
|
|
}
|
|
goto st0
|
|
st5:
|
|
if p++; p == pe {
|
|
goto _test_eof5
|
|
}
|
|
st_case_5:
|
|
if data[p] == 65 {
|
|
goto tr10
|
|
}
|
|
goto st0
|
|
st6:
|
|
if p++; p == pe {
|
|
goto _test_eof6
|
|
}
|
|
st_case_6:
|
|
switch data[p] {
|
|
case 76:
|
|
goto st7
|
|
case 77:
|
|
goto st8
|
|
}
|
|
goto st0
|
|
st7:
|
|
if p++; p == pe {
|
|
goto _test_eof7
|
|
}
|
|
st_case_7:
|
|
if data[p] == 76 {
|
|
goto st8
|
|
}
|
|
goto st0
|
|
st8:
|
|
if p++; p == pe {
|
|
goto _test_eof8
|
|
}
|
|
st_case_8:
|
|
if data[p] == 33 {
|
|
goto tr10
|
|
}
|
|
goto st0
|
|
st9:
|
|
if p++; p == pe {
|
|
goto _test_eof9
|
|
}
|
|
st_case_9:
|
|
if data[p] == 69 {
|
|
goto st10
|
|
}
|
|
goto st0
|
|
st10:
|
|
if p++; p == pe {
|
|
goto _test_eof10
|
|
}
|
|
st_case_10:
|
|
if data[p] == 70 {
|
|
goto st11
|
|
}
|
|
goto st0
|
|
st11:
|
|
if p++; p == pe {
|
|
goto _test_eof11
|
|
}
|
|
st_case_11:
|
|
if data[p] == 33 {
|
|
goto tr15
|
|
}
|
|
goto st0
|
|
st12:
|
|
if p++; p == pe {
|
|
goto _test_eof12
|
|
}
|
|
st_case_12:
|
|
switch data[p] {
|
|
case 33:
|
|
goto tr2
|
|
case 47:
|
|
goto st0
|
|
case 123:
|
|
goto st0
|
|
case 125:
|
|
goto st0
|
|
}
|
|
switch {
|
|
case data[p] < 48:
|
|
switch {
|
|
case data[p] > 35:
|
|
if 37 <= data[p] && data[p] <= 45 {
|
|
goto st0
|
|
}
|
|
case data[p] >= 34:
|
|
goto st0
|
|
}
|
|
case data[p] > 57:
|
|
switch {
|
|
case data[p] < 65:
|
|
if 58 <= data[p] && data[p] <= 63 {
|
|
goto st0
|
|
}
|
|
case data[p] > 90:
|
|
if 91 <= data[p] && data[p] <= 95 {
|
|
goto st0
|
|
}
|
|
default:
|
|
goto st16
|
|
}
|
|
default:
|
|
goto st13
|
|
}
|
|
goto st1
|
|
st13:
|
|
if p++; p == pe {
|
|
goto _test_eof13
|
|
}
|
|
st_case_13:
|
|
switch data[p] {
|
|
case 33:
|
|
goto tr2
|
|
case 47:
|
|
goto st0
|
|
case 58:
|
|
goto st14
|
|
case 123:
|
|
goto st0
|
|
case 125:
|
|
goto st0
|
|
}
|
|
switch {
|
|
case data[p] < 48:
|
|
switch {
|
|
case data[p] > 35:
|
|
if 37 <= data[p] && data[p] <= 45 {
|
|
goto st0
|
|
}
|
|
case data[p] >= 34:
|
|
goto st0
|
|
}
|
|
case data[p] > 57:
|
|
switch {
|
|
case data[p] > 63:
|
|
if 91 <= data[p] && data[p] <= 95 {
|
|
goto st0
|
|
}
|
|
case data[p] >= 59:
|
|
goto st0
|
|
}
|
|
default:
|
|
goto st13
|
|
}
|
|
goto st1
|
|
st14:
|
|
if p++; p == pe {
|
|
goto _test_eof14
|
|
}
|
|
st_case_14:
|
|
if data[p] == 36 {
|
|
goto st15
|
|
}
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto st29
|
|
}
|
|
goto tr0
|
|
st15:
|
|
if p++; p == pe {
|
|
goto _test_eof15
|
|
}
|
|
st_case_15:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto st29
|
|
}
|
|
goto tr0
|
|
st29:
|
|
if p++; p == pe {
|
|
goto _test_eof29
|
|
}
|
|
st_case_29:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto st29
|
|
}
|
|
goto tr64
|
|
st16:
|
|
if p++; p == pe {
|
|
goto _test_eof16
|
|
}
|
|
st_case_16:
|
|
switch data[p] {
|
|
case 33:
|
|
goto tr2
|
|
case 36:
|
|
goto st17
|
|
case 47:
|
|
goto st0
|
|
case 123:
|
|
goto st0
|
|
case 125:
|
|
goto st0
|
|
}
|
|
switch {
|
|
case data[p] < 58:
|
|
switch {
|
|
case data[p] > 45:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto tr22
|
|
}
|
|
case data[p] >= 34:
|
|
goto st0
|
|
}
|
|
case data[p] > 63:
|
|
switch {
|
|
case data[p] > 90:
|
|
if 91 <= data[p] && data[p] <= 95 {
|
|
goto st0
|
|
}
|
|
case data[p] >= 65:
|
|
goto st16
|
|
}
|
|
default:
|
|
goto st0
|
|
}
|
|
goto st1
|
|
st17:
|
|
if p++; p == pe {
|
|
goto _test_eof17
|
|
}
|
|
st_case_17:
|
|
switch data[p] {
|
|
case 33:
|
|
goto tr2
|
|
case 47:
|
|
goto tr0
|
|
case 123:
|
|
goto tr0
|
|
case 125:
|
|
goto tr0
|
|
}
|
|
switch {
|
|
case data[p] < 48:
|
|
switch {
|
|
case data[p] > 35:
|
|
if 37 <= data[p] && data[p] <= 45 {
|
|
goto tr0
|
|
}
|
|
case data[p] >= 34:
|
|
goto tr0
|
|
}
|
|
case data[p] > 57:
|
|
switch {
|
|
case data[p] > 63:
|
|
if 91 <= data[p] && data[p] <= 95 {
|
|
goto tr0
|
|
}
|
|
case data[p] >= 58:
|
|
goto tr0
|
|
}
|
|
default:
|
|
goto tr22
|
|
}
|
|
goto st1
|
|
tr22:
|
|
// line 1 "NONE"
|
|
|
|
te = p + 1
|
|
|
|
// line 57 "lexer.rl"
|
|
|
|
act = 3
|
|
goto st30
|
|
st30:
|
|
if p++; p == pe {
|
|
goto _test_eof30
|
|
}
|
|
st_case_30:
|
|
// line 861 "lexer.go"
|
|
switch data[p] {
|
|
case 33:
|
|
goto tr2
|
|
case 47:
|
|
goto tr65
|
|
case 123:
|
|
goto tr65
|
|
case 125:
|
|
goto tr65
|
|
}
|
|
switch {
|
|
case data[p] < 48:
|
|
switch {
|
|
case data[p] > 35:
|
|
if 37 <= data[p] && data[p] <= 45 {
|
|
goto tr65
|
|
}
|
|
case data[p] >= 34:
|
|
goto tr65
|
|
}
|
|
case data[p] > 57:
|
|
switch {
|
|
case data[p] > 63:
|
|
if 91 <= data[p] && data[p] <= 95 {
|
|
goto tr65
|
|
}
|
|
case data[p] >= 58:
|
|
goto tr65
|
|
}
|
|
default:
|
|
goto tr22
|
|
}
|
|
goto st1
|
|
st18:
|
|
if p++; p == pe {
|
|
goto _test_eof18
|
|
}
|
|
st_case_18:
|
|
switch data[p] {
|
|
case 39:
|
|
goto st0
|
|
case 42:
|
|
goto st0
|
|
case 47:
|
|
goto st0
|
|
case 58:
|
|
goto st0
|
|
case 63:
|
|
goto st0
|
|
}
|
|
if 91 <= data[p] && data[p] <= 93 {
|
|
goto st0
|
|
}
|
|
goto st19
|
|
st19:
|
|
if p++; p == pe {
|
|
goto _test_eof19
|
|
}
|
|
st_case_19:
|
|
switch data[p] {
|
|
case 39:
|
|
goto st20
|
|
case 42:
|
|
goto st0
|
|
case 47:
|
|
goto st0
|
|
case 58:
|
|
goto st0
|
|
case 63:
|
|
goto st0
|
|
}
|
|
if 91 <= data[p] && data[p] <= 93 {
|
|
goto st0
|
|
}
|
|
goto st19
|
|
st20:
|
|
if p++; p == pe {
|
|
goto _test_eof20
|
|
}
|
|
st_case_20:
|
|
if data[p] == 33 {
|
|
goto tr25
|
|
}
|
|
goto st0
|
|
tr49:
|
|
// line 1 "NONE"
|
|
|
|
te = p + 1
|
|
|
|
// line 56 "lexer.rl"
|
|
|
|
act = 2
|
|
goto st31
|
|
st31:
|
|
if p++; p == pe {
|
|
goto _test_eof31
|
|
}
|
|
st_case_31:
|
|
// line 960 "lexer.go"
|
|
switch data[p] {
|
|
case 33:
|
|
goto tr2
|
|
case 46:
|
|
goto tr67
|
|
case 58:
|
|
goto st14
|
|
case 101:
|
|
goto st21
|
|
case 123:
|
|
goto tr66
|
|
case 125:
|
|
goto tr66
|
|
}
|
|
switch {
|
|
case data[p] < 48:
|
|
switch {
|
|
case data[p] > 35:
|
|
if 37 <= data[p] && data[p] <= 47 {
|
|
goto tr66
|
|
}
|
|
case data[p] >= 34:
|
|
goto tr66
|
|
}
|
|
case data[p] > 57:
|
|
switch {
|
|
case data[p] > 63:
|
|
if 91 <= data[p] && data[p] <= 95 {
|
|
goto tr66
|
|
}
|
|
case data[p] >= 59:
|
|
goto tr66
|
|
}
|
|
default:
|
|
goto tr49
|
|
}
|
|
goto st1
|
|
tr67:
|
|
// line 1 "NONE"
|
|
|
|
te = p + 1
|
|
|
|
// line 56 "lexer.rl"
|
|
|
|
act = 2
|
|
goto st32
|
|
st32:
|
|
if p++; p == pe {
|
|
goto _test_eof32
|
|
}
|
|
st_case_32:
|
|
// line 1012 "lexer.go"
|
|
switch data[p] {
|
|
case 33:
|
|
goto tr2
|
|
case 47:
|
|
goto tr66
|
|
case 101:
|
|
goto st21
|
|
case 123:
|
|
goto tr66
|
|
case 125:
|
|
goto tr66
|
|
}
|
|
switch {
|
|
case data[p] < 48:
|
|
switch {
|
|
case data[p] > 35:
|
|
if 37 <= data[p] && data[p] <= 45 {
|
|
goto tr66
|
|
}
|
|
case data[p] >= 34:
|
|
goto tr66
|
|
}
|
|
case data[p] > 57:
|
|
switch {
|
|
case data[p] > 63:
|
|
if 91 <= data[p] && data[p] <= 95 {
|
|
goto tr66
|
|
}
|
|
case data[p] >= 58:
|
|
goto tr66
|
|
}
|
|
default:
|
|
goto tr67
|
|
}
|
|
goto st1
|
|
st21:
|
|
if p++; p == pe {
|
|
goto _test_eof21
|
|
}
|
|
st_case_21:
|
|
switch data[p] {
|
|
case 33:
|
|
goto tr2
|
|
case 47:
|
|
goto tr26
|
|
case 123:
|
|
goto tr26
|
|
case 125:
|
|
goto tr26
|
|
}
|
|
switch {
|
|
case data[p] < 48:
|
|
switch {
|
|
case data[p] > 35:
|
|
if 37 <= data[p] && data[p] <= 45 {
|
|
goto tr26
|
|
}
|
|
case data[p] >= 34:
|
|
goto tr26
|
|
}
|
|
case data[p] > 57:
|
|
switch {
|
|
case data[p] > 63:
|
|
if 91 <= data[p] && data[p] <= 95 {
|
|
goto tr26
|
|
}
|
|
case data[p] >= 58:
|
|
goto tr26
|
|
}
|
|
default:
|
|
goto tr27
|
|
}
|
|
goto st1
|
|
tr27:
|
|
// line 1 "NONE"
|
|
|
|
te = p + 1
|
|
|
|
// line 56 "lexer.rl"
|
|
|
|
act = 2
|
|
goto st33
|
|
st33:
|
|
if p++; p == pe {
|
|
goto _test_eof33
|
|
}
|
|
st_case_33:
|
|
// line 1100 "lexer.go"
|
|
switch data[p] {
|
|
case 33:
|
|
goto tr2
|
|
case 47:
|
|
goto tr66
|
|
case 123:
|
|
goto tr66
|
|
case 125:
|
|
goto tr66
|
|
}
|
|
switch {
|
|
case data[p] < 48:
|
|
switch {
|
|
case data[p] > 35:
|
|
if 37 <= data[p] && data[p] <= 45 {
|
|
goto tr66
|
|
}
|
|
case data[p] >= 34:
|
|
goto tr66
|
|
}
|
|
case data[p] > 57:
|
|
switch {
|
|
case data[p] > 63:
|
|
if 91 <= data[p] && data[p] <= 95 {
|
|
goto tr66
|
|
}
|
|
case data[p] >= 58:
|
|
goto tr66
|
|
}
|
|
default:
|
|
goto tr27
|
|
}
|
|
goto st1
|
|
st34:
|
|
if p++; p == pe {
|
|
goto _test_eof34
|
|
}
|
|
st_case_34:
|
|
switch data[p] {
|
|
case 61:
|
|
goto tr70
|
|
case 62:
|
|
goto tr71
|
|
}
|
|
goto tr69
|
|
st35:
|
|
if p++; p == pe {
|
|
goto _test_eof35
|
|
}
|
|
st_case_35:
|
|
if data[p] == 61 {
|
|
goto tr73
|
|
}
|
|
goto tr72
|
|
st22:
|
|
if p++; p == pe {
|
|
goto _test_eof22
|
|
}
|
|
st_case_22:
|
|
switch data[p] {
|
|
case 33:
|
|
goto tr2
|
|
case 36:
|
|
goto st17
|
|
case 40:
|
|
goto tr28
|
|
case 46:
|
|
goto tr29
|
|
case 92:
|
|
goto st37
|
|
case 95:
|
|
goto st37
|
|
case 123:
|
|
goto st0
|
|
case 125:
|
|
goto st0
|
|
}
|
|
switch {
|
|
case data[p] < 58:
|
|
switch {
|
|
case data[p] > 47:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto tr30
|
|
}
|
|
case data[p] >= 34:
|
|
goto st0
|
|
}
|
|
case data[p] > 63:
|
|
switch {
|
|
case data[p] < 91:
|
|
if 65 <= data[p] && data[p] <= 90 {
|
|
goto tr31
|
|
}
|
|
case data[p] > 94:
|
|
if 97 <= data[p] && data[p] <= 122 {
|
|
goto tr33
|
|
}
|
|
default:
|
|
goto st0
|
|
}
|
|
default:
|
|
goto st0
|
|
}
|
|
goto st1
|
|
tr29:
|
|
// line 1 "NONE"
|
|
|
|
te = p + 1
|
|
|
|
// line 70 "lexer.rl"
|
|
|
|
act = 13
|
|
goto st36
|
|
st36:
|
|
if p++; p == pe {
|
|
goto _test_eof36
|
|
}
|
|
st_case_36:
|
|
// line 1219 "lexer.go"
|
|
switch data[p] {
|
|
case 33:
|
|
goto tr2
|
|
case 40:
|
|
goto tr28
|
|
case 46:
|
|
goto tr29
|
|
case 92:
|
|
goto st37
|
|
case 95:
|
|
goto st37
|
|
case 123:
|
|
goto tr74
|
|
case 125:
|
|
goto tr74
|
|
}
|
|
switch {
|
|
case data[p] < 58:
|
|
switch {
|
|
case data[p] < 37:
|
|
if 34 <= data[p] && data[p] <= 35 {
|
|
goto tr74
|
|
}
|
|
case data[p] > 47:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto tr29
|
|
}
|
|
default:
|
|
goto tr74
|
|
}
|
|
case data[p] > 63:
|
|
switch {
|
|
case data[p] < 91:
|
|
if 65 <= data[p] && data[p] <= 90 {
|
|
goto tr29
|
|
}
|
|
case data[p] > 94:
|
|
if 97 <= data[p] && data[p] <= 122 {
|
|
goto tr33
|
|
}
|
|
default:
|
|
goto tr74
|
|
}
|
|
default:
|
|
goto tr74
|
|
}
|
|
goto st1
|
|
st37:
|
|
if p++; p == pe {
|
|
goto _test_eof37
|
|
}
|
|
st_case_37:
|
|
switch data[p] {
|
|
case 46:
|
|
goto st37
|
|
case 92:
|
|
goto st37
|
|
case 95:
|
|
goto st37
|
|
}
|
|
switch {
|
|
case data[p] < 65:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto st37
|
|
}
|
|
case data[p] > 90:
|
|
if 97 <= data[p] && data[p] <= 122 {
|
|
goto st37
|
|
}
|
|
default:
|
|
goto st37
|
|
}
|
|
goto tr74
|
|
tr33:
|
|
// line 1 "NONE"
|
|
|
|
te = p + 1
|
|
|
|
// line 70 "lexer.rl"
|
|
|
|
act = 13
|
|
goto st38
|
|
st38:
|
|
if p++; p == pe {
|
|
goto _test_eof38
|
|
}
|
|
st_case_38:
|
|
// line 1307 "lexer.go"
|
|
switch data[p] {
|
|
case 33:
|
|
goto tr2
|
|
case 46:
|
|
goto tr33
|
|
case 92:
|
|
goto st37
|
|
case 95:
|
|
goto st37
|
|
case 123:
|
|
goto tr74
|
|
case 125:
|
|
goto tr74
|
|
}
|
|
switch {
|
|
case data[p] < 58:
|
|
switch {
|
|
case data[p] < 37:
|
|
if 34 <= data[p] && data[p] <= 35 {
|
|
goto tr74
|
|
}
|
|
case data[p] > 47:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto tr33
|
|
}
|
|
default:
|
|
goto tr74
|
|
}
|
|
case data[p] > 63:
|
|
switch {
|
|
case data[p] < 91:
|
|
if 65 <= data[p] && data[p] <= 90 {
|
|
goto tr33
|
|
}
|
|
case data[p] > 94:
|
|
if 97 <= data[p] && data[p] <= 122 {
|
|
goto tr33
|
|
}
|
|
default:
|
|
goto tr74
|
|
}
|
|
default:
|
|
goto tr74
|
|
}
|
|
goto st1
|
|
tr30:
|
|
// line 1 "NONE"
|
|
|
|
te = p + 1
|
|
|
|
// line 57 "lexer.rl"
|
|
|
|
act = 3
|
|
goto st39
|
|
st39:
|
|
if p++; p == pe {
|
|
goto _test_eof39
|
|
}
|
|
st_case_39:
|
|
// line 1367 "lexer.go"
|
|
switch data[p] {
|
|
case 33:
|
|
goto tr2
|
|
case 40:
|
|
goto tr28
|
|
case 46:
|
|
goto tr29
|
|
case 92:
|
|
goto st37
|
|
case 95:
|
|
goto st37
|
|
case 123:
|
|
goto tr65
|
|
case 125:
|
|
goto tr65
|
|
}
|
|
switch {
|
|
case data[p] < 58:
|
|
switch {
|
|
case data[p] < 37:
|
|
if 34 <= data[p] && data[p] <= 35 {
|
|
goto tr65
|
|
}
|
|
case data[p] > 47:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto tr30
|
|
}
|
|
default:
|
|
goto tr65
|
|
}
|
|
case data[p] > 63:
|
|
switch {
|
|
case data[p] < 91:
|
|
if 65 <= data[p] && data[p] <= 90 {
|
|
goto tr29
|
|
}
|
|
case data[p] > 94:
|
|
if 97 <= data[p] && data[p] <= 122 {
|
|
goto tr33
|
|
}
|
|
default:
|
|
goto tr65
|
|
}
|
|
default:
|
|
goto tr65
|
|
}
|
|
goto st1
|
|
tr31:
|
|
// line 1 "NONE"
|
|
|
|
te = p + 1
|
|
|
|
// line 70 "lexer.rl"
|
|
|
|
act = 13
|
|
goto st40
|
|
tr77:
|
|
// line 1 "NONE"
|
|
|
|
te = p + 1
|
|
|
|
// line 55 "lexer.rl"
|
|
|
|
act = 1
|
|
goto st40
|
|
tr79:
|
|
// line 1 "NONE"
|
|
|
|
te = p + 1
|
|
|
|
// line 58 "lexer.rl"
|
|
|
|
act = 4
|
|
goto st40
|
|
st40:
|
|
if p++; p == pe {
|
|
goto _test_eof40
|
|
}
|
|
st_case_40:
|
|
// line 1447 "lexer.go"
|
|
switch data[p] {
|
|
case 33:
|
|
goto tr2
|
|
case 36:
|
|
goto st17
|
|
case 40:
|
|
goto tr28
|
|
case 46:
|
|
goto tr29
|
|
case 92:
|
|
goto st37
|
|
case 95:
|
|
goto st37
|
|
case 123:
|
|
goto tr0
|
|
case 125:
|
|
goto tr0
|
|
}
|
|
switch {
|
|
case data[p] < 58:
|
|
switch {
|
|
case data[p] > 47:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto tr30
|
|
}
|
|
case data[p] >= 34:
|
|
goto tr0
|
|
}
|
|
case data[p] > 63:
|
|
switch {
|
|
case data[p] < 91:
|
|
if 65 <= data[p] && data[p] <= 90 {
|
|
goto tr31
|
|
}
|
|
case data[p] > 94:
|
|
if 97 <= data[p] && data[p] <= 122 {
|
|
goto tr33
|
|
}
|
|
default:
|
|
goto tr0
|
|
}
|
|
default:
|
|
goto tr0
|
|
}
|
|
goto st1
|
|
st23:
|
|
if p++; p == pe {
|
|
goto _test_eof23
|
|
}
|
|
st_case_23:
|
|
switch data[p] {
|
|
case 33:
|
|
goto tr2
|
|
case 36:
|
|
goto st17
|
|
case 40:
|
|
goto tr28
|
|
case 46:
|
|
goto tr29
|
|
case 65:
|
|
goto tr34
|
|
case 92:
|
|
goto st37
|
|
case 95:
|
|
goto st37
|
|
case 123:
|
|
goto st0
|
|
case 125:
|
|
goto st0
|
|
}
|
|
switch {
|
|
case data[p] < 58:
|
|
switch {
|
|
case data[p] > 47:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto tr30
|
|
}
|
|
case data[p] >= 34:
|
|
goto st0
|
|
}
|
|
case data[p] > 63:
|
|
switch {
|
|
case data[p] < 91:
|
|
if 66 <= data[p] && data[p] <= 90 {
|
|
goto tr31
|
|
}
|
|
case data[p] > 94:
|
|
if 97 <= data[p] && data[p] <= 122 {
|
|
goto tr33
|
|
}
|
|
default:
|
|
goto st0
|
|
}
|
|
default:
|
|
goto st0
|
|
}
|
|
goto st1
|
|
tr34:
|
|
// line 1 "NONE"
|
|
|
|
te = p + 1
|
|
|
|
// line 70 "lexer.rl"
|
|
|
|
act = 13
|
|
goto st41
|
|
st41:
|
|
if p++; p == pe {
|
|
goto _test_eof41
|
|
}
|
|
st_case_41:
|
|
// line 1559 "lexer.go"
|
|
switch data[p] {
|
|
case 33:
|
|
goto tr2
|
|
case 36:
|
|
goto st17
|
|
case 40:
|
|
goto tr28
|
|
case 46:
|
|
goto tr29
|
|
case 76:
|
|
goto tr75
|
|
case 92:
|
|
goto st37
|
|
case 95:
|
|
goto st37
|
|
case 123:
|
|
goto tr74
|
|
case 125:
|
|
goto tr74
|
|
}
|
|
switch {
|
|
case data[p] < 58:
|
|
switch {
|
|
case data[p] > 47:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto tr30
|
|
}
|
|
case data[p] >= 34:
|
|
goto tr74
|
|
}
|
|
case data[p] > 63:
|
|
switch {
|
|
case data[p] < 91:
|
|
if 65 <= data[p] && data[p] <= 90 {
|
|
goto tr31
|
|
}
|
|
case data[p] > 94:
|
|
if 97 <= data[p] && data[p] <= 122 {
|
|
goto tr33
|
|
}
|
|
default:
|
|
goto tr74
|
|
}
|
|
default:
|
|
goto tr74
|
|
}
|
|
goto st1
|
|
tr75:
|
|
// line 1 "NONE"
|
|
|
|
te = p + 1
|
|
|
|
// line 70 "lexer.rl"
|
|
|
|
act = 13
|
|
goto st42
|
|
st42:
|
|
if p++; p == pe {
|
|
goto _test_eof42
|
|
}
|
|
st_case_42:
|
|
// line 1621 "lexer.go"
|
|
switch data[p] {
|
|
case 33:
|
|
goto tr2
|
|
case 36:
|
|
goto st17
|
|
case 40:
|
|
goto tr28
|
|
case 46:
|
|
goto tr29
|
|
case 83:
|
|
goto tr76
|
|
case 92:
|
|
goto st37
|
|
case 95:
|
|
goto st37
|
|
case 123:
|
|
goto tr74
|
|
case 125:
|
|
goto tr74
|
|
}
|
|
switch {
|
|
case data[p] < 58:
|
|
switch {
|
|
case data[p] > 47:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto tr30
|
|
}
|
|
case data[p] >= 34:
|
|
goto tr74
|
|
}
|
|
case data[p] > 63:
|
|
switch {
|
|
case data[p] < 91:
|
|
if 65 <= data[p] && data[p] <= 90 {
|
|
goto tr31
|
|
}
|
|
case data[p] > 94:
|
|
if 97 <= data[p] && data[p] <= 122 {
|
|
goto tr33
|
|
}
|
|
default:
|
|
goto tr74
|
|
}
|
|
default:
|
|
goto tr74
|
|
}
|
|
goto st1
|
|
tr76:
|
|
// line 1 "NONE"
|
|
|
|
te = p + 1
|
|
|
|
// line 70 "lexer.rl"
|
|
|
|
act = 13
|
|
goto st43
|
|
st43:
|
|
if p++; p == pe {
|
|
goto _test_eof43
|
|
}
|
|
st_case_43:
|
|
// line 1683 "lexer.go"
|
|
switch data[p] {
|
|
case 33:
|
|
goto tr2
|
|
case 36:
|
|
goto st17
|
|
case 40:
|
|
goto tr28
|
|
case 46:
|
|
goto tr29
|
|
case 69:
|
|
goto tr77
|
|
case 92:
|
|
goto st37
|
|
case 95:
|
|
goto st37
|
|
case 123:
|
|
goto tr74
|
|
case 125:
|
|
goto tr74
|
|
}
|
|
switch {
|
|
case data[p] < 58:
|
|
switch {
|
|
case data[p] > 47:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto tr30
|
|
}
|
|
case data[p] >= 34:
|
|
goto tr74
|
|
}
|
|
case data[p] > 63:
|
|
switch {
|
|
case data[p] < 91:
|
|
if 65 <= data[p] && data[p] <= 90 {
|
|
goto tr31
|
|
}
|
|
case data[p] > 94:
|
|
if 97 <= data[p] && data[p] <= 122 {
|
|
goto tr33
|
|
}
|
|
default:
|
|
goto tr74
|
|
}
|
|
default:
|
|
goto tr74
|
|
}
|
|
goto st1
|
|
st24:
|
|
if p++; p == pe {
|
|
goto _test_eof24
|
|
}
|
|
st_case_24:
|
|
switch data[p] {
|
|
case 33:
|
|
goto tr2
|
|
case 36:
|
|
goto st17
|
|
case 40:
|
|
goto tr28
|
|
case 46:
|
|
goto tr29
|
|
case 79:
|
|
goto tr35
|
|
case 82:
|
|
goto tr36
|
|
case 92:
|
|
goto st37
|
|
case 95:
|
|
goto st37
|
|
case 123:
|
|
goto st0
|
|
case 125:
|
|
goto st0
|
|
}
|
|
switch {
|
|
case data[p] < 58:
|
|
switch {
|
|
case data[p] > 47:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto tr30
|
|
}
|
|
case data[p] >= 34:
|
|
goto st0
|
|
}
|
|
case data[p] > 63:
|
|
switch {
|
|
case data[p] < 91:
|
|
if 65 <= data[p] && data[p] <= 90 {
|
|
goto tr31
|
|
}
|
|
case data[p] > 94:
|
|
if 97 <= data[p] && data[p] <= 122 {
|
|
goto tr33
|
|
}
|
|
default:
|
|
goto st0
|
|
}
|
|
default:
|
|
goto st0
|
|
}
|
|
goto st1
|
|
tr35:
|
|
// line 1 "NONE"
|
|
|
|
te = p + 1
|
|
|
|
// line 70 "lexer.rl"
|
|
|
|
act = 13
|
|
goto st44
|
|
st44:
|
|
if p++; p == pe {
|
|
goto _test_eof44
|
|
}
|
|
st_case_44:
|
|
// line 1799 "lexer.go"
|
|
switch data[p] {
|
|
case 33:
|
|
goto tr2
|
|
case 36:
|
|
goto st17
|
|
case 40:
|
|
goto tr28
|
|
case 46:
|
|
goto tr29
|
|
case 68:
|
|
goto tr78
|
|
case 92:
|
|
goto st37
|
|
case 95:
|
|
goto st37
|
|
case 123:
|
|
goto tr74
|
|
case 125:
|
|
goto tr74
|
|
}
|
|
switch {
|
|
case data[p] < 58:
|
|
switch {
|
|
case data[p] > 47:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto tr30
|
|
}
|
|
case data[p] >= 34:
|
|
goto tr74
|
|
}
|
|
case data[p] > 63:
|
|
switch {
|
|
case data[p] < 91:
|
|
if 65 <= data[p] && data[p] <= 90 {
|
|
goto tr31
|
|
}
|
|
case data[p] > 94:
|
|
if 97 <= data[p] && data[p] <= 122 {
|
|
goto tr33
|
|
}
|
|
default:
|
|
goto tr74
|
|
}
|
|
default:
|
|
goto tr74
|
|
}
|
|
goto st1
|
|
tr78:
|
|
// line 1 "NONE"
|
|
|
|
te = p + 1
|
|
|
|
// line 70 "lexer.rl"
|
|
|
|
act = 13
|
|
goto st45
|
|
st45:
|
|
if p++; p == pe {
|
|
goto _test_eof45
|
|
}
|
|
st_case_45:
|
|
// line 1861 "lexer.go"
|
|
switch data[p] {
|
|
case 33:
|
|
goto tr2
|
|
case 36:
|
|
goto st17
|
|
case 40:
|
|
goto tr28
|
|
case 46:
|
|
goto tr29
|
|
case 79:
|
|
goto tr79
|
|
case 92:
|
|
goto st37
|
|
case 95:
|
|
goto st37
|
|
case 123:
|
|
goto tr74
|
|
case 125:
|
|
goto tr74
|
|
}
|
|
switch {
|
|
case data[p] < 58:
|
|
switch {
|
|
case data[p] > 47:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto tr30
|
|
}
|
|
case data[p] >= 34:
|
|
goto tr74
|
|
}
|
|
case data[p] > 63:
|
|
switch {
|
|
case data[p] < 91:
|
|
if 65 <= data[p] && data[p] <= 90 {
|
|
goto tr31
|
|
}
|
|
case data[p] > 94:
|
|
if 97 <= data[p] && data[p] <= 122 {
|
|
goto tr33
|
|
}
|
|
default:
|
|
goto tr74
|
|
}
|
|
default:
|
|
goto tr74
|
|
}
|
|
goto st1
|
|
tr36:
|
|
// line 1 "NONE"
|
|
|
|
te = p + 1
|
|
|
|
// line 70 "lexer.rl"
|
|
|
|
act = 13
|
|
goto st46
|
|
st46:
|
|
if p++; p == pe {
|
|
goto _test_eof46
|
|
}
|
|
st_case_46:
|
|
// line 1923 "lexer.go"
|
|
switch data[p] {
|
|
case 33:
|
|
goto tr2
|
|
case 36:
|
|
goto st17
|
|
case 40:
|
|
goto tr28
|
|
case 46:
|
|
goto tr29
|
|
case 85:
|
|
goto tr76
|
|
case 92:
|
|
goto st37
|
|
case 95:
|
|
goto st37
|
|
case 123:
|
|
goto tr74
|
|
case 125:
|
|
goto tr74
|
|
}
|
|
switch {
|
|
case data[p] < 58:
|
|
switch {
|
|
case data[p] > 47:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto tr30
|
|
}
|
|
case data[p] >= 34:
|
|
goto tr74
|
|
}
|
|
case data[p] > 63:
|
|
switch {
|
|
case data[p] < 91:
|
|
if 65 <= data[p] && data[p] <= 90 {
|
|
goto tr31
|
|
}
|
|
case data[p] > 94:
|
|
if 97 <= data[p] && data[p] <= 122 {
|
|
goto tr33
|
|
}
|
|
default:
|
|
goto tr74
|
|
}
|
|
default:
|
|
goto tr74
|
|
}
|
|
goto st1
|
|
st25:
|
|
if p++; p == pe {
|
|
goto _test_eof25
|
|
}
|
|
st_case_25:
|
|
switch data[p] {
|
|
case 46:
|
|
goto st37
|
|
case 92:
|
|
goto st37
|
|
case 95:
|
|
goto st37
|
|
}
|
|
switch {
|
|
case data[p] < 65:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto st37
|
|
}
|
|
case data[p] > 90:
|
|
if 97 <= data[p] && data[p] <= 122 {
|
|
goto st37
|
|
}
|
|
default:
|
|
goto st37
|
|
}
|
|
goto st0
|
|
st26:
|
|
if p++; p == pe {
|
|
goto _test_eof26
|
|
}
|
|
st_case_26:
|
|
switch data[p] {
|
|
case 46:
|
|
goto st37
|
|
case 92:
|
|
goto st37
|
|
case 95:
|
|
goto st37
|
|
case 120:
|
|
goto st47
|
|
}
|
|
switch {
|
|
case data[p] < 65:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto st37
|
|
}
|
|
case data[p] > 90:
|
|
if 97 <= data[p] && data[p] <= 122 {
|
|
goto st37
|
|
}
|
|
default:
|
|
goto st37
|
|
}
|
|
goto st0
|
|
st47:
|
|
if p++; p == pe {
|
|
goto _test_eof47
|
|
}
|
|
st_case_47:
|
|
switch data[p] {
|
|
case 46:
|
|
goto st37
|
|
case 92:
|
|
goto st37
|
|
case 95:
|
|
goto st37
|
|
case 108:
|
|
goto st48
|
|
}
|
|
switch {
|
|
case data[p] < 65:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto st37
|
|
}
|
|
case data[p] > 90:
|
|
if 97 <= data[p] && data[p] <= 122 {
|
|
goto st37
|
|
}
|
|
default:
|
|
goto st37
|
|
}
|
|
goto tr74
|
|
st48:
|
|
if p++; p == pe {
|
|
goto _test_eof48
|
|
}
|
|
st_case_48:
|
|
switch data[p] {
|
|
case 46:
|
|
goto st37
|
|
case 92:
|
|
goto st37
|
|
case 95:
|
|
goto st37
|
|
case 102:
|
|
goto st49
|
|
case 110:
|
|
goto st53
|
|
}
|
|
switch {
|
|
case data[p] < 65:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto st37
|
|
}
|
|
case data[p] > 90:
|
|
if 97 <= data[p] && data[p] <= 122 {
|
|
goto st37
|
|
}
|
|
default:
|
|
goto st37
|
|
}
|
|
goto tr74
|
|
st49:
|
|
if p++; p == pe {
|
|
goto _test_eof49
|
|
}
|
|
st_case_49:
|
|
switch data[p] {
|
|
case 46:
|
|
goto st37
|
|
case 92:
|
|
goto st37
|
|
case 95:
|
|
goto st37
|
|
case 110:
|
|
goto st50
|
|
}
|
|
switch {
|
|
case data[p] < 65:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto st37
|
|
}
|
|
case data[p] > 90:
|
|
if 97 <= data[p] && data[p] <= 122 {
|
|
goto st37
|
|
}
|
|
default:
|
|
goto st37
|
|
}
|
|
goto tr74
|
|
st50:
|
|
if p++; p == pe {
|
|
goto _test_eof50
|
|
}
|
|
st_case_50:
|
|
switch data[p] {
|
|
case 46:
|
|
goto st51
|
|
case 92:
|
|
goto st37
|
|
case 95:
|
|
goto st37
|
|
}
|
|
switch {
|
|
case data[p] < 65:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto st37
|
|
}
|
|
case data[p] > 90:
|
|
if 97 <= data[p] && data[p] <= 122 {
|
|
goto st37
|
|
}
|
|
default:
|
|
goto st37
|
|
}
|
|
goto tr74
|
|
st51:
|
|
if p++; p == pe {
|
|
goto _test_eof51
|
|
}
|
|
st_case_51:
|
|
switch data[p] {
|
|
case 46:
|
|
goto st37
|
|
case 92:
|
|
goto st37
|
|
case 95:
|
|
goto st52
|
|
}
|
|
switch {
|
|
case data[p] < 65:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto st37
|
|
}
|
|
case data[p] > 90:
|
|
if 97 <= data[p] && data[p] <= 122 {
|
|
goto st37
|
|
}
|
|
default:
|
|
goto st52
|
|
}
|
|
goto tr74
|
|
st52:
|
|
if p++; p == pe {
|
|
goto _test_eof52
|
|
}
|
|
st_case_52:
|
|
switch data[p] {
|
|
case 40:
|
|
goto tr86
|
|
case 46:
|
|
goto st52
|
|
case 92:
|
|
goto st37
|
|
case 95:
|
|
goto st37
|
|
}
|
|
switch {
|
|
case data[p] < 65:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto st52
|
|
}
|
|
case data[p] > 90:
|
|
if 97 <= data[p] && data[p] <= 122 {
|
|
goto st37
|
|
}
|
|
default:
|
|
goto st52
|
|
}
|
|
goto tr74
|
|
st53:
|
|
if p++; p == pe {
|
|
goto _test_eof53
|
|
}
|
|
st_case_53:
|
|
switch data[p] {
|
|
case 46:
|
|
goto st37
|
|
case 92:
|
|
goto st37
|
|
case 95:
|
|
goto st37
|
|
case 109:
|
|
goto st54
|
|
}
|
|
switch {
|
|
case data[p] < 65:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto st37
|
|
}
|
|
case data[p] > 90:
|
|
if 97 <= data[p] && data[p] <= 122 {
|
|
goto st37
|
|
}
|
|
default:
|
|
goto st37
|
|
}
|
|
goto tr74
|
|
st54:
|
|
if p++; p == pe {
|
|
goto _test_eof54
|
|
}
|
|
st_case_54:
|
|
switch data[p] {
|
|
case 46:
|
|
goto tr88
|
|
case 92:
|
|
goto st37
|
|
case 95:
|
|
goto st37
|
|
}
|
|
switch {
|
|
case data[p] < 65:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto st37
|
|
}
|
|
case data[p] > 90:
|
|
if 97 <= data[p] && data[p] <= 122 {
|
|
goto st37
|
|
}
|
|
default:
|
|
goto st37
|
|
}
|
|
goto tr74
|
|
tr88:
|
|
// line 1 "NONE"
|
|
|
|
te = p + 1
|
|
|
|
// line 70 "lexer.rl"
|
|
|
|
act = 13
|
|
goto st55
|
|
tr89:
|
|
// line 1 "NONE"
|
|
|
|
te = p + 1
|
|
|
|
// line 64 "lexer.rl"
|
|
|
|
act = 10
|
|
goto st55
|
|
st55:
|
|
if p++; p == pe {
|
|
goto _test_eof55
|
|
}
|
|
st_case_55:
|
|
// line 2268 "lexer.go"
|
|
switch data[p] {
|
|
case 46:
|
|
goto st37
|
|
case 92:
|
|
goto st37
|
|
case 95:
|
|
goto tr89
|
|
}
|
|
switch {
|
|
case data[p] < 65:
|
|
if 48 <= data[p] && data[p] <= 57 {
|
|
goto st37
|
|
}
|
|
case data[p] > 90:
|
|
if 97 <= data[p] && data[p] <= 122 {
|
|
goto st37
|
|
}
|
|
default:
|
|
goto tr89
|
|
}
|
|
goto tr0
|
|
st_out:
|
|
_test_eof27:
|
|
cs = 27
|
|
goto _test_eof
|
|
_test_eof1:
|
|
cs = 1
|
|
goto _test_eof
|
|
_test_eof2:
|
|
cs = 2
|
|
goto _test_eof
|
|
_test_eof28:
|
|
cs = 28
|
|
goto _test_eof
|
|
_test_eof3:
|
|
cs = 3
|
|
goto _test_eof
|
|
_test_eof4:
|
|
cs = 4
|
|
goto _test_eof
|
|
_test_eof5:
|
|
cs = 5
|
|
goto _test_eof
|
|
_test_eof6:
|
|
cs = 6
|
|
goto _test_eof
|
|
_test_eof7:
|
|
cs = 7
|
|
goto _test_eof
|
|
_test_eof8:
|
|
cs = 8
|
|
goto _test_eof
|
|
_test_eof9:
|
|
cs = 9
|
|
goto _test_eof
|
|
_test_eof10:
|
|
cs = 10
|
|
goto _test_eof
|
|
_test_eof11:
|
|
cs = 11
|
|
goto _test_eof
|
|
_test_eof12:
|
|
cs = 12
|
|
goto _test_eof
|
|
_test_eof13:
|
|
cs = 13
|
|
goto _test_eof
|
|
_test_eof14:
|
|
cs = 14
|
|
goto _test_eof
|
|
_test_eof15:
|
|
cs = 15
|
|
goto _test_eof
|
|
_test_eof29:
|
|
cs = 29
|
|
goto _test_eof
|
|
_test_eof16:
|
|
cs = 16
|
|
goto _test_eof
|
|
_test_eof17:
|
|
cs = 17
|
|
goto _test_eof
|
|
_test_eof30:
|
|
cs = 30
|
|
goto _test_eof
|
|
_test_eof18:
|
|
cs = 18
|
|
goto _test_eof
|
|
_test_eof19:
|
|
cs = 19
|
|
goto _test_eof
|
|
_test_eof20:
|
|
cs = 20
|
|
goto _test_eof
|
|
_test_eof31:
|
|
cs = 31
|
|
goto _test_eof
|
|
_test_eof32:
|
|
cs = 32
|
|
goto _test_eof
|
|
_test_eof21:
|
|
cs = 21
|
|
goto _test_eof
|
|
_test_eof33:
|
|
cs = 33
|
|
goto _test_eof
|
|
_test_eof34:
|
|
cs = 34
|
|
goto _test_eof
|
|
_test_eof35:
|
|
cs = 35
|
|
goto _test_eof
|
|
_test_eof22:
|
|
cs = 22
|
|
goto _test_eof
|
|
_test_eof36:
|
|
cs = 36
|
|
goto _test_eof
|
|
_test_eof37:
|
|
cs = 37
|
|
goto _test_eof
|
|
_test_eof38:
|
|
cs = 38
|
|
goto _test_eof
|
|
_test_eof39:
|
|
cs = 39
|
|
goto _test_eof
|
|
_test_eof40:
|
|
cs = 40
|
|
goto _test_eof
|
|
_test_eof23:
|
|
cs = 23
|
|
goto _test_eof
|
|
_test_eof41:
|
|
cs = 41
|
|
goto _test_eof
|
|
_test_eof42:
|
|
cs = 42
|
|
goto _test_eof
|
|
_test_eof43:
|
|
cs = 43
|
|
goto _test_eof
|
|
_test_eof24:
|
|
cs = 24
|
|
goto _test_eof
|
|
_test_eof44:
|
|
cs = 44
|
|
goto _test_eof
|
|
_test_eof45:
|
|
cs = 45
|
|
goto _test_eof
|
|
_test_eof46:
|
|
cs = 46
|
|
goto _test_eof
|
|
_test_eof25:
|
|
cs = 25
|
|
goto _test_eof
|
|
_test_eof26:
|
|
cs = 26
|
|
goto _test_eof
|
|
_test_eof47:
|
|
cs = 47
|
|
goto _test_eof
|
|
_test_eof48:
|
|
cs = 48
|
|
goto _test_eof
|
|
_test_eof49:
|
|
cs = 49
|
|
goto _test_eof
|
|
_test_eof50:
|
|
cs = 50
|
|
goto _test_eof
|
|
_test_eof51:
|
|
cs = 51
|
|
goto _test_eof
|
|
_test_eof52:
|
|
cs = 52
|
|
goto _test_eof
|
|
_test_eof53:
|
|
cs = 53
|
|
goto _test_eof
|
|
_test_eof54:
|
|
cs = 54
|
|
goto _test_eof
|
|
_test_eof55:
|
|
cs = 55
|
|
goto _test_eof
|
|
|
|
_test_eof:
|
|
{
|
|
}
|
|
if p == eof {
|
|
switch cs {
|
|
case 1:
|
|
goto tr0
|
|
case 2:
|
|
goto tr0
|
|
case 28:
|
|
goto tr63
|
|
case 14:
|
|
goto tr0
|
|
case 15:
|
|
goto tr0
|
|
case 29:
|
|
goto tr64
|
|
case 17:
|
|
goto tr0
|
|
case 30:
|
|
goto tr65
|
|
case 31:
|
|
goto tr66
|
|
case 32:
|
|
goto tr66
|
|
case 21:
|
|
goto tr26
|
|
case 33:
|
|
goto tr66
|
|
case 34:
|
|
goto tr69
|
|
case 35:
|
|
goto tr72
|
|
case 36:
|
|
goto tr74
|
|
case 37:
|
|
goto tr74
|
|
case 38:
|
|
goto tr74
|
|
case 39:
|
|
goto tr65
|
|
case 40:
|
|
goto tr0
|
|
case 41:
|
|
goto tr74
|
|
case 42:
|
|
goto tr74
|
|
case 43:
|
|
goto tr74
|
|
case 44:
|
|
goto tr74
|
|
case 45:
|
|
goto tr74
|
|
case 46:
|
|
goto tr74
|
|
case 47:
|
|
goto tr74
|
|
case 48:
|
|
goto tr74
|
|
case 49:
|
|
goto tr74
|
|
case 50:
|
|
goto tr74
|
|
case 51:
|
|
goto tr74
|
|
case 52:
|
|
goto tr74
|
|
case 53:
|
|
goto tr74
|
|
case 54:
|
|
goto tr74
|
|
case 55:
|
|
goto tr0
|
|
}
|
|
}
|
|
|
|
_out:
|
|
{
|
|
}
|
|
}
|
|
|
|
// line 143 "lexer.rl"
|
|
|
|
if ts > 0 {
|
|
// currently parsing a token, so shift it to the
|
|
// beginning of the buffer
|
|
copy(data[0:], data[ts:])
|
|
}
|
|
}
|
|
|
|
_ = eof
|
|
if cs == formula_error {
|
|
l.emit(tokenLexError, nil)
|
|
}
|
|
close(l.nodes)
|
|
}
|