From 291dc7e884a152956e8ae2f72a6ded50a8a74f07 Mon Sep 17 00:00:00 2001 From: Vadym Slizov Date: Mon, 18 May 2020 20:07:17 +0300 Subject: [PATCH] [refactoring] move errors from scanner to parser --- internal/php5/parser.go | 30 +- internal/php7/parser.go | 30 +- internal/scanner/lexer.go | 45 +- internal/scanner/scanner.go | 865 +++++++++++++++---------------- internal/scanner/scanner.rl | 15 +- internal/scanner/scanner_test.go | 75 +-- 6 files changed, 533 insertions(+), 527 deletions(-) diff --git a/internal/php5/parser.go b/internal/php5/parser.go index fe68521..1315a54 100644 --- a/internal/php5/parser.go +++ b/internal/php5/parser.go @@ -21,19 +21,21 @@ type Parser struct { currentToken *scanner.Token positionBuilder *positionbuilder.PositionBuilder rootNode ast.Vertex + errors []*errors.Error } // NewParser creates and returns new Parser func NewParser(src []byte, v string) *Parser { - lexer := scanner.NewLexer(src) + parser := &Parser{} + + lexer := scanner.NewLexer(src, func(e *errors.Error) { + parser.errors = append(parser.errors, e) + }) lexer.PHPVersion = v - return &Parser{ - lexer, - nil, - nil, - nil, - } + parser.Lexer = lexer + + return parser } // Lex proxy to scanner Lex @@ -49,7 +51,12 @@ func (l *Parser) Lex(lval *yySymType) int { func (l *Parser) Error(msg string) { var pos = l.currentToken.Position - l.Lexer.AddError(errors.NewError(msg, &pos)) + l.errors = append(l.errors, errors.NewError(msg, &pos)) +} + +// GetErrors returns errors list +func (l *Parser) GetErrors() []*errors.Error { + return l.errors } func (l *Parser) WithTokens() { @@ -59,7 +66,7 @@ func (l *Parser) WithTokens() { // Parse the php7 Parser entrypoint func (l *Parser) Parse() int { // init - l.Lexer.SetErrors(nil) + l.errors = nil l.rootNode = nil l.positionBuilder = &positionbuilder.PositionBuilder{} @@ -73,11 +80,6 @@ func (l *Parser) GetRootNode() ast.Vertex { return l.rootNode } -// GetErrors returns errors list -func (l *Parser) GetErrors() []*errors.Error { - return l.Lexer.GetErrors() -} - // helpers func lastNode(nn []ast.Vertex) ast.Vertex { diff --git a/internal/php7/parser.go b/internal/php7/parser.go index b2a0cf6..72dab68 100644 --- a/internal/php7/parser.go +++ b/internal/php7/parser.go @@ -20,19 +20,21 @@ type Parser struct { currentToken *scanner.Token positionBuilder *positionbuilder.PositionBuilder rootNode ast.Vertex + errors []*errors.Error } // NewParser creates and returns new Parser func NewParser(src []byte, v string) *Parser { - lexer := scanner.NewLexer(src) + parser := &Parser{} + + lexer := scanner.NewLexer(src, func(e *errors.Error) { + parser.errors = append(parser.errors, e) + }) lexer.PHPVersion = v - return &Parser{ - lexer, - nil, - nil, - nil, - } + parser.Lexer = lexer + + return parser } func (l *Parser) Lex(lval *yySymType) int { @@ -47,7 +49,12 @@ func (l *Parser) Lex(lval *yySymType) int { func (l *Parser) Error(msg string) { var pos = l.currentToken.Position - l.Lexer.AddError(errors.NewError(msg, &pos)) + l.errors = append(l.errors, errors.NewError(msg, &pos)) +} + +// GetErrors returns errors list +func (l *Parser) GetErrors() []*errors.Error { + return l.errors } func (l *Parser) WithTokens() { @@ -57,7 +64,7 @@ func (l *Parser) WithTokens() { // Parse the php7 Parser entrypoint func (l *Parser) Parse() int { // init - l.Lexer.SetErrors(nil) + l.errors = nil l.rootNode = nil l.positionBuilder = &positionbuilder.PositionBuilder{} @@ -71,11 +78,6 @@ func (l *Parser) GetRootNode() ast.Vertex { return l.rootNode } -// GetErrors returns errors list -func (l *Parser) GetErrors() []*errors.Error { - return l.Lexer.GetErrors() -} - // helpers func lastNode(nn []ast.Vertex) ast.Vertex { diff --git a/internal/scanner/lexer.go b/internal/scanner/lexer.go index 5c8dfad..60aaec9 100644 --- a/internal/scanner/lexer.go +++ b/internal/scanner/lexer.go @@ -13,15 +13,14 @@ import ( type Scanner interface { Lex() *Token ReturnTokenToPool(t *Token) - GetErrors() []*errors.Error GetWithHiddenTokens() bool SetWithHiddenTokens(bool) - AddError(e *errors.Error) - SetErrors(e []*errors.Error) } type Lexer struct { - data []byte + data []byte + errHandlerFunc func(*errors.Error) + p, pe, cs int ts, te, act int stack []int @@ -31,17 +30,29 @@ type Lexer struct { TokenPool *TokenPool HiddenTokens []token.Token WithHiddenTokens bool - Errors []*errors.Error NewLines NewLines PHPVersion string } -func (l *Lexer) ReturnTokenToPool(t *Token) { - l.TokenPool.Put(t) +func NewLexer(data []byte, errHandlerFunc func(*errors.Error)) *Lexer { + lex := &Lexer{ + data: data, + errHandlerFunc: errHandlerFunc, + + pe: len(data), + stack: make([]int, 0), + + TokenPool: &TokenPool{}, + NewLines: NewLines{make([]int, 0, 128)}, + } + + initLexer(lex) + + return lex } -func (l *Lexer) GetErrors() []*errors.Error { - return l.Errors +func (l *Lexer) ReturnTokenToPool(t *Token) { + l.TokenPool.Put(t) } func (l *Lexer) GetWithHiddenTokens() bool { @@ -52,14 +63,6 @@ func (l *Lexer) SetWithHiddenTokens(b bool) { l.WithHiddenTokens = b } -func (l *Lexer) AddError(e *errors.Error) { - l.Errors = append(l.Errors, e) -} - -func (l *Lexer) SetErrors(e []*errors.Error) { - l.Errors = e -} - func (lex *Lexer) setTokenPosition(token *Token) { token.Position.StartLine = lex.NewLines.GetLine(lex.ts) token.Position.EndLine = lex.NewLines.GetLine(lex.te - 1) @@ -230,7 +233,11 @@ func (lex *Lexer) ungetCnt(n int) { lex.te = lex.te - n } -func (lex *Lexer) Error(msg string) { +func (lex *Lexer) error(msg string) { + if lex.errHandlerFunc == nil { + return + } + pos := position.NewPosition( lex.NewLines.GetLine(lex.ts), lex.NewLines.GetLine(lex.te-1), @@ -238,7 +245,7 @@ func (lex *Lexer) Error(msg string) { lex.te, ) - lex.Errors = append(lex.Errors, errors.NewError(msg, pos)) + lex.errHandlerFunc(errors.NewError(msg, pos)) } func isValidVarNameStart(r byte) bool { diff --git a/internal/scanner/scanner.go b/internal/scanner/scanner.go index 95db2b2..576f19a 100644 --- a/internal/scanner/scanner.go +++ b/internal/scanner/scanner.go @@ -31,17 +31,9 @@ const lexer_en_halt_compiller_end int = 526 // line internal/scanner/scanner.rl:15 -func NewLexer(data []byte) *Lexer { - lex := &Lexer{ - data: data, - pe: len(data), - stack: make([]int, 0), +func initLexer(lex *Lexer) { - TokenPool: &TokenPool{}, - NewLines: NewLines{make([]int, 0, 128)}, - } - - // line internal/scanner/scanner.go:49 + // line internal/scanner/scanner.go:41 { lex.cs = lexer_start lex.top = 0 @@ -50,8 +42,7 @@ func NewLexer(data []byte) *Lexer { lex.act = 0 } - // line internal/scanner/scanner.rl:27 - return lex + // line internal/scanner/scanner.rl:19 } func (lex *Lexer) Lex() *Token { @@ -68,7 +59,7 @@ func (lex *Lexer) Lex() *Token { _, _ = lblStart, lblEnd - // line internal/scanner/scanner.go:77 + // line internal/scanner/scanner.go:68 { var _widec int16 if (lex.p) == (lex.pe) { @@ -2205,7 +2196,7 @@ func (lex *Lexer) Lex() *Token { goto st_out tr0: lex.cs = 111 - // line internal/scanner/scanner.rl:139 + // line internal/scanner/scanner.rl:130 (lex.p) = (lex.te) - 1 { lex.cs = 114 @@ -2214,7 +2205,7 @@ func (lex *Lexer) Lex() *Token { goto _again tr162: lex.cs = 111 - // line internal/scanner/scanner.rl:139 + // line internal/scanner/scanner.rl:130 lex.te = (lex.p) + 1 { lex.cs = 114 @@ -2223,7 +2214,7 @@ func (lex *Lexer) Lex() *Token { goto _again tr164: lex.cs = 111 - // line internal/scanner/scanner.rl:139 + // line internal/scanner/scanner.rl:130 lex.te = (lex.p) (lex.p)-- { @@ -2232,9 +2223,9 @@ func (lex *Lexer) Lex() *Token { } goto _again tr165: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) - // line internal/scanner/scanner.rl:136 + // line internal/scanner/scanner.rl:127 lex.te = (lex.p) (lex.p)-- { @@ -2252,7 +2243,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:2261 + // line internal/scanner/scanner.go:2252 if lex.data[(lex.p)] == 35 { goto tr163 } @@ -2267,7 +2258,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof112 } st_case_112: - // line internal/scanner/scanner.go:2276 + // line internal/scanner/scanner.go:2267 if lex.data[(lex.p)] == 33 { goto st1 } @@ -2289,7 +2280,7 @@ func (lex *Lexer) Lex() *Token { goto tr165 tr3: lex.cs = 114 - // line internal/scanner/scanner.rl:152 + // line internal/scanner/scanner.rl:143 (lex.p) = (lex.te) - 1 { lex.addToken(T_OPEN_TAG, lex.ts, lex.te) @@ -2298,7 +2289,7 @@ func (lex *Lexer) Lex() *Token { goto _again tr6: lex.cs = 114 - // line internal/scanner/scanner.rl:156 + // line internal/scanner/scanner.rl:147 lex.te = (lex.p) + 1 { lex.ungetCnt(lex.te - lex.ts - 5) @@ -2307,7 +2298,7 @@ func (lex *Lexer) Lex() *Token { } goto _again tr169: - // line internal/scanner/scanner.rl:146 + // line internal/scanner/scanner.rl:137 lex.te = (lex.p) (lex.p)-- { @@ -2322,9 +2313,9 @@ func (lex *Lexer) Lex() *Token { } goto st114 tr171: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) - // line internal/scanner/scanner.rl:146 + // line internal/scanner/scanner.rl:137 lex.te = (lex.p) (lex.p)-- { @@ -2340,7 +2331,7 @@ func (lex *Lexer) Lex() *Token { goto st114 tr176: lex.cs = 114 - // line internal/scanner/scanner.rl:152 + // line internal/scanner/scanner.rl:143 lex.te = (lex.p) (lex.p)-- { @@ -2350,7 +2341,7 @@ func (lex *Lexer) Lex() *Token { goto _again tr177: lex.cs = 114 - // line internal/scanner/scanner.rl:161 + // line internal/scanner/scanner.rl:152 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -2364,9 +2355,9 @@ func (lex *Lexer) Lex() *Token { goto _again tr179: lex.cs = 114 - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) - // line internal/scanner/scanner.rl:156 + // line internal/scanner/scanner.rl:147 lex.te = (lex.p) (lex.p)-- { @@ -2386,7 +2377,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:2384 + // line internal/scanner/scanner.go:2375 switch lex.data[(lex.p)] { case 10: goto st116 @@ -2395,7 +2386,7 @@ func (lex *Lexer) Lex() *Token { } goto st115 tr172: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st115 st115: @@ -2403,7 +2394,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof115 } st_case_115: - // line internal/scanner/scanner.go:2401 + // line internal/scanner/scanner.go:2392 switch lex.data[(lex.p)] { case 10: goto st116 @@ -2412,7 +2403,7 @@ func (lex *Lexer) Lex() *Token { } goto st115 tr173: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st116 st116: @@ -2420,7 +2411,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof116 } st_case_116: - // line internal/scanner/scanner.go:2418 + // line internal/scanner/scanner.go:2409 switch lex.data[(lex.p)] { case 10: goto tr173 @@ -2429,7 +2420,7 @@ func (lex *Lexer) Lex() *Token { } goto tr172 tr174: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st117 st117: @@ -2437,7 +2428,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof117 } st_case_117: - // line internal/scanner/scanner.go:2435 + // line internal/scanner/scanner.go:2426 switch lex.data[(lex.p)] { case 10: goto st116 @@ -2471,7 +2462,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof119 } st_case_119: - // line internal/scanner/scanner.go:2469 + // line internal/scanner/scanner.go:2460 switch lex.data[(lex.p)] { case 61: goto tr177 @@ -2537,7 +2528,7 @@ func (lex *Lexer) Lex() *Token { } goto tr3 tr9: - // line internal/scanner/scanner.rl:170 + // line internal/scanner/scanner.rl:161 (lex.p) = (lex.te) - 1 { lex.addToken(T_WHITESPACE, lex.ts, lex.te) @@ -3357,7 +3348,7 @@ func (lex *Lexer) Lex() *Token { goto _again tr14: - // line internal/scanner/scanner.rl:360 + // line internal/scanner/scanner.rl:351 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3370,15 +3361,15 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr18: - // line internal/scanner/scanner.rl:383 + // line internal/scanner/scanner.rl:374 (lex.p) = (lex.te) - 1 { c := lex.data[lex.p] - lex.Error(fmt.Sprintf("WARNING: Unexpected character in input: '%c' (ASCII=%d)", c, c)) + lex.error(fmt.Sprintf("WARNING: Unexpected character in input: '%c' (ASCII=%d)", c, c)) } goto st121 tr22: - // line internal/scanner/scanner.rl:345 + // line internal/scanner/scanner.rl:336 (lex.p) = (lex.te) - 1 { // rune, _ := utf8.DecodeRune(lex.data[lex.ts:lex.te]); @@ -3393,7 +3384,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr37: - // line internal/scanner/scanner.rl:320 + // line internal/scanner/scanner.rl:311 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3406,7 +3397,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr44: - // line internal/scanner/scanner.rl:325 + // line internal/scanner/scanner.rl:316 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3419,7 +3410,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr48: - // line internal/scanner/scanner.rl:321 + // line internal/scanner/scanner.rl:312 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3432,7 +3423,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr56: - // line internal/scanner/scanner.rl:322 + // line internal/scanner/scanner.rl:313 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3445,7 +3436,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr63: - // line internal/scanner/scanner.rl:323 + // line internal/scanner/scanner.rl:314 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3458,7 +3449,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr72: - // line internal/scanner/scanner.rl:324 + // line internal/scanner/scanner.rl:315 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3471,7 +3462,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr83: - // line internal/scanner/scanner.rl:326 + // line internal/scanner/scanner.rl:317 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3484,7 +3475,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr84: - // line internal/scanner/scanner.rl:288 + // line internal/scanner/scanner.rl:279 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3497,7 +3488,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr87: - // line internal/scanner/scanner.rl:174 + // line internal/scanner/scanner.rl:165 (lex.p) = (lex.te) - 1 { lex.setTokenPosition(token) @@ -3510,7 +3501,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr95: - // line internal/scanner/scanner.rl:332 + // line internal/scanner/scanner.rl:323 lex.te = (lex.p) + 1 { isDocComment := false @@ -3526,7 +3517,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr96: - // line internal/scanner/scanner.rl:185 + // line internal/scanner/scanner.rl:176 (lex.p) = (lex.te) - 1 { base := 10 @@ -3558,7 +3549,7 @@ func (lex *Lexer) Lex() *Token { goto st121 tr109: lex.cs = 121 - // line internal/scanner/scanner.rl:172 + // line internal/scanner/scanner.rl:163 (lex.p) = (lex.te) - 1 { lex.setTokenPosition(token) @@ -3572,7 +3563,7 @@ func (lex *Lexer) Lex() *Token { goto _again tr125: lex.cs = 121 - // line internal/scanner/scanner.rl:171 + // line internal/scanner/scanner.rl:162 (lex.p) = (lex.te) - 1 { lex.setTokenPosition(token) @@ -3585,7 +3576,7 @@ func (lex *Lexer) Lex() *Token { } goto _again tr127: - // line internal/scanner/scanner.rl:356 + // line internal/scanner/scanner.rl:347 (lex.p) = (lex.te) - 1 { lex.setTokenPosition(token) @@ -3598,7 +3589,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr129: - // line internal/scanner/scanner.rl:269 + // line internal/scanner/scanner.rl:260 (lex.p) = (lex.te) - 1 { lex.setTokenPosition(token) @@ -3611,7 +3602,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr140: - // line internal/scanner/scanner.rl:268 + // line internal/scanner/scanner.rl:259 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3624,15 +3615,15 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr180: - // line internal/scanner/scanner.rl:383 + // line internal/scanner/scanner.rl:374 lex.te = (lex.p) + 1 { c := lex.data[lex.p] - lex.Error(fmt.Sprintf("WARNING: Unexpected character in input: '%c' (ASCII=%d)", c, c)) + lex.error(fmt.Sprintf("WARNING: Unexpected character in input: '%c' (ASCII=%d)", c, c)) } goto st121 tr191: - // line internal/scanner/scanner.rl:345 + // line internal/scanner/scanner.rl:336 lex.te = (lex.p) + 1 { // rune, _ := utf8.DecodeRune(lex.data[lex.ts:lex.te]); @@ -3647,7 +3638,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr225: - // line internal/scanner/scanner.rl:287 + // line internal/scanner/scanner.rl:278 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3661,7 +3652,7 @@ func (lex *Lexer) Lex() *Token { goto st121 tr228: lex.cs = 121 - // line internal/scanner/scanner.rl:380 + // line internal/scanner/scanner.rl:371 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3674,7 +3665,7 @@ func (lex *Lexer) Lex() *Token { } goto _again tr229: - // line internal/scanner/scanner.rl:353 + // line internal/scanner/scanner.rl:344 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3684,7 +3675,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr231: - // line internal/scanner/scanner.rl:354 + // line internal/scanner/scanner.rl:345 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3694,7 +3685,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr232: - // line internal/scanner/scanner.rl:170 + // line internal/scanner/scanner.rl:161 lex.te = (lex.p) (lex.p)-- { @@ -3702,9 +3693,9 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr234: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) - // line internal/scanner/scanner.rl:170 + // line internal/scanner/scanner.rl:161 lex.te = (lex.p) (lex.p)-- { @@ -3712,16 +3703,16 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr238: - // line internal/scanner/scanner.rl:383 + // line internal/scanner/scanner.rl:374 lex.te = (lex.p) (lex.p)-- { c := lex.data[lex.p] - lex.Error(fmt.Sprintf("WARNING: Unexpected character in input: '%c' (ASCII=%d)", c, c)) + lex.error(fmt.Sprintf("WARNING: Unexpected character in input: '%c' (ASCII=%d)", c, c)) } goto st121 tr239: - // line internal/scanner/scanner.rl:345 + // line internal/scanner/scanner.rl:336 lex.te = (lex.p) (lex.p)-- { @@ -3737,7 +3728,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr241: - // line internal/scanner/scanner.rl:306 + // line internal/scanner/scanner.rl:297 lex.te = (lex.p) (lex.p)-- { @@ -3751,7 +3742,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr242: - // line internal/scanner/scanner.rl:307 + // line internal/scanner/scanner.rl:298 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3765,7 +3756,7 @@ func (lex *Lexer) Lex() *Token { goto st121 tr243: lex.cs = 121 - // line internal/scanner/scanner.rl:381 + // line internal/scanner/scanner.rl:372 lex.te = (lex.p) (lex.p)-- { @@ -3779,7 +3770,7 @@ func (lex *Lexer) Lex() *Token { } goto _again tr244: - // line internal/scanner/scanner.rl:328 + // line internal/scanner/scanner.rl:319 lex.te = (lex.p) (lex.p)-- { @@ -3788,9 +3779,9 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr246: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) - // line internal/scanner/scanner.rl:328 + // line internal/scanner/scanner.rl:319 lex.te = (lex.p) (lex.p)-- { @@ -3799,7 +3790,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr250: - // line internal/scanner/scanner.rl:355 + // line internal/scanner/scanner.rl:346 lex.te = (lex.p) (lex.p)-- { @@ -3813,7 +3804,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr251: - // line internal/scanner/scanner.rl:301 + // line internal/scanner/scanner.rl:292 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3826,7 +3817,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr252: - // line internal/scanner/scanner.rl:290 + // line internal/scanner/scanner.rl:281 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3839,7 +3830,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr253: - // line internal/scanner/scanner.rl:292 + // line internal/scanner/scanner.rl:283 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3852,7 +3843,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr255: - // line internal/scanner/scanner.rl:295 + // line internal/scanner/scanner.rl:286 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3865,7 +3856,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr256: - // line internal/scanner/scanner.rl:314 + // line internal/scanner/scanner.rl:305 lex.te = (lex.p) (lex.p)-- { @@ -3879,7 +3870,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr257: - // line internal/scanner/scanner.rl:296 + // line internal/scanner/scanner.rl:287 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3892,7 +3883,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr258: - // line internal/scanner/scanner.rl:303 + // line internal/scanner/scanner.rl:294 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3905,7 +3896,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr259: - // line internal/scanner/scanner.rl:298 + // line internal/scanner/scanner.rl:289 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3918,7 +3909,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr260: - // line internal/scanner/scanner.rl:302 + // line internal/scanner/scanner.rl:293 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3931,7 +3922,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr261: - // line internal/scanner/scanner.rl:299 + // line internal/scanner/scanner.rl:290 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3945,7 +3936,7 @@ func (lex *Lexer) Lex() *Token { goto st121 tr262: lex.cs = 121 - // line internal/scanner/scanner.rl:358 + // line internal/scanner/scanner.rl:349 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3958,7 +3949,7 @@ func (lex *Lexer) Lex() *Token { } goto _again tr264: - // line internal/scanner/scanner.rl:294 + // line internal/scanner/scanner.rl:285 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3971,7 +3962,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr265: - // line internal/scanner/scanner.rl:174 + // line internal/scanner/scanner.rl:165 lex.te = (lex.p) (lex.p)-- { @@ -3985,7 +3976,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr268: - // line internal/scanner/scanner.rl:297 + // line internal/scanner/scanner.rl:288 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -3998,7 +3989,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr269: - // line internal/scanner/scanner.rl:185 + // line internal/scanner/scanner.rl:176 lex.te = (lex.p) (lex.p)-- { @@ -4030,7 +4021,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr274: - // line internal/scanner/scanner.rl:175 + // line internal/scanner/scanner.rl:166 lex.te = (lex.p) (lex.p)-- { @@ -4057,7 +4048,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr275: - // line internal/scanner/scanner.rl:200 + // line internal/scanner/scanner.rl:191 lex.te = (lex.p) (lex.p)-- { @@ -4084,7 +4075,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr276: - // line internal/scanner/scanner.rl:289 + // line internal/scanner/scanner.rl:280 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -4098,7 +4089,7 @@ func (lex *Lexer) Lex() *Token { goto st121 tr277: lex.cs = 121 - // line internal/scanner/scanner.rl:172 + // line internal/scanner/scanner.rl:163 lex.te = (lex.p) (lex.p)-- { @@ -4113,9 +4104,9 @@ func (lex *Lexer) Lex() *Token { goto _again tr279: lex.cs = 121 - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) - // line internal/scanner/scanner.rl:172 + // line internal/scanner/scanner.rl:163 lex.te = (lex.p) (lex.p)-- { @@ -4129,7 +4120,7 @@ func (lex *Lexer) Lex() *Token { } goto _again tr282: - // line internal/scanner/scanner.rl:306 + // line internal/scanner/scanner.rl:297 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -4142,7 +4133,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr283: - // line internal/scanner/scanner.rl:315 + // line internal/scanner/scanner.rl:306 lex.te = (lex.p) (lex.p)-- { @@ -4156,7 +4147,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr284: - // line internal/scanner/scanner.rl:310 + // line internal/scanner/scanner.rl:301 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -4170,9 +4161,9 @@ func (lex *Lexer) Lex() *Token { goto st121 tr285: lex.cs = 121 - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) - // line internal/scanner/scanner.rl:366 + // line internal/scanner/scanner.rl:357 lex.te = (lex.p) (lex.p)-- { @@ -4194,7 +4185,7 @@ func (lex *Lexer) Lex() *Token { } goto _again tr286: - // line internal/scanner/scanner.rl:313 + // line internal/scanner/scanner.rl:304 lex.te = (lex.p) (lex.p)-- { @@ -4208,7 +4199,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr287: - // line internal/scanner/scanner.rl:305 + // line internal/scanner/scanner.rl:296 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -4221,7 +4212,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr289: - // line internal/scanner/scanner.rl:304 + // line internal/scanner/scanner.rl:295 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -4234,7 +4225,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr290: - // line internal/scanner/scanner.rl:308 + // line internal/scanner/scanner.rl:299 lex.te = (lex.p) (lex.p)-- { @@ -4248,7 +4239,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr291: - // line internal/scanner/scanner.rl:309 + // line internal/scanner/scanner.rl:300 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -4261,7 +4252,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr292: - // line internal/scanner/scanner.rl:312 + // line internal/scanner/scanner.rl:303 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -4274,7 +4265,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr294: - // line internal/scanner/scanner.rl:316 + // line internal/scanner/scanner.rl:307 lex.te = (lex.p) (lex.p)-- { @@ -4288,7 +4279,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr295: - // line internal/scanner/scanner.rl:311 + // line internal/scanner/scanner.rl:302 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -4302,7 +4293,7 @@ func (lex *Lexer) Lex() *Token { goto st121 tr298: lex.cs = 121 - // line internal/scanner/scanner.rl:171 + // line internal/scanner/scanner.rl:162 lex.te = (lex.p) (lex.p)-- { @@ -4317,9 +4308,9 @@ func (lex *Lexer) Lex() *Token { goto _again tr300: lex.cs = 121 - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) - // line internal/scanner/scanner.rl:171 + // line internal/scanner/scanner.rl:162 lex.te = (lex.p) (lex.p)-- { @@ -4333,7 +4324,7 @@ func (lex *Lexer) Lex() *Token { } goto _again tr301: - // line internal/scanner/scanner.rl:317 + // line internal/scanner/scanner.rl:308 lex.te = (lex.p) (lex.p)-- { @@ -4347,7 +4338,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr302: - // line internal/scanner/scanner.rl:318 + // line internal/scanner/scanner.rl:309 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -4360,7 +4351,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr303: - // line internal/scanner/scanner.rl:356 + // line internal/scanner/scanner.rl:347 lex.te = (lex.p) (lex.p)-- { @@ -4374,7 +4365,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr383: - // line internal/scanner/scanner.rl:226 + // line internal/scanner/scanner.rl:217 lex.te = (lex.p) (lex.p)-- { @@ -4388,7 +4379,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr403: - // line internal/scanner/scanner.rl:230 + // line internal/scanner/scanner.rl:221 lex.te = (lex.p) (lex.p)-- { @@ -4402,7 +4393,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr432: - // line internal/scanner/scanner.rl:238 + // line internal/scanner/scanner.rl:229 lex.te = (lex.p) (lex.p)-- { @@ -4416,7 +4407,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr436: - // line internal/scanner/scanner.rl:240 + // line internal/scanner/scanner.rl:231 lex.te = (lex.p) (lex.p)-- { @@ -4430,7 +4421,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr468: - // line internal/scanner/scanner.rl:270 + // line internal/scanner/scanner.rl:261 lex.te = (lex.p) (lex.p)-- { @@ -4444,7 +4435,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr536: - // line internal/scanner/scanner.rl:272 + // line internal/scanner/scanner.rl:263 lex.te = (lex.p) (lex.p)-- { @@ -4458,7 +4449,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr582: - // line internal/scanner/scanner.rl:269 + // line internal/scanner/scanner.rl:260 lex.te = (lex.p) (lex.p)-- { @@ -4472,7 +4463,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr587: - // line internal/scanner/scanner.rl:300 + // line internal/scanner/scanner.rl:291 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -4485,7 +4476,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr661: - // line internal/scanner/scanner.rl:293 + // line internal/scanner/scanner.rl:284 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -4498,7 +4489,7 @@ func (lex *Lexer) Lex() *Token { } goto st121 tr662: - // line internal/scanner/scanner.rl:291 + // line internal/scanner/scanner.rl:282 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -4521,7 +4512,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:3386 + // line internal/scanner/scanner.go:3377 switch lex.data[(lex.p)] { case 10: goto tr10 @@ -4706,7 +4697,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st122 st122: @@ -4714,7 +4705,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof122 } st_case_122: - // line internal/scanner/scanner.go:3579 + // line internal/scanner/scanner.go:3570 switch lex.data[(lex.p)] { case 10: goto tr10 @@ -4736,7 +4727,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st123 st123: @@ -4744,7 +4735,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof123 } st_case_123: - // line internal/scanner/scanner.go:3609 + // line internal/scanner/scanner.go:3600 switch lex.data[(lex.p)] { case 10: goto tr236 @@ -4758,7 +4749,7 @@ func (lex *Lexer) Lex() *Token { } goto tr234 tr237: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st6 st6: @@ -4766,7 +4757,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof6 } st_case_6: - // line internal/scanner/scanner.go:3631 + // line internal/scanner/scanner.go:3622 if lex.data[(lex.p)] == 10 { goto tr10 } @@ -4802,7 +4793,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:381 + // line internal/scanner/scanner.rl:372 lex.act = 140 goto st127 st127: @@ -4810,7 +4801,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof127 } st_case_127: - // line internal/scanner/scanner.go:3675 + // line internal/scanner/scanner.go:3666 switch lex.data[(lex.p)] { case 10: goto tr13 @@ -4827,7 +4818,7 @@ func (lex *Lexer) Lex() *Token { } goto st7 tr13: - // line internal/scanner/scanner.rl:48 + // line internal/scanner/scanner.rl:39 if lex.data[lex.p] == '\n' { lex.NewLines.Append(lex.p) @@ -4843,7 +4834,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof7 } st_case_7: - // line internal/scanner/scanner.go:3708 + // line internal/scanner/scanner.go:3699 switch lex.data[(lex.p)] { case 10: goto tr13 @@ -4920,7 +4911,7 @@ func (lex *Lexer) Lex() *Token { } goto st7 tr247: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st128 st128: @@ -4928,7 +4919,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof128 } st_case_128: - // line internal/scanner/scanner.go:3793 + // line internal/scanner/scanner.go:3784 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -4975,7 +4966,7 @@ func (lex *Lexer) Lex() *Token { } goto tr244 tr248: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st129 st129: @@ -4983,7 +4974,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof129 } st_case_129: - // line internal/scanner/scanner.go:3848 + // line internal/scanner/scanner.go:3839 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -5107,7 +5098,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof134 } st_case_134: - // line internal/scanner/scanner.go:3972 + // line internal/scanner/scanner.go:3963 switch lex.data[(lex.p)] { case 10: goto tr20 @@ -5120,7 +5111,7 @@ func (lex *Lexer) Lex() *Token { } goto st11 tr20: - // line internal/scanner/scanner.rl:48 + // line internal/scanner/scanner.rl:39 if lex.data[lex.p] == '\n' { lex.NewLines.Append(lex.p) @@ -5136,7 +5127,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof11 } st_case_11: - // line internal/scanner/scanner.go:4001 + // line internal/scanner/scanner.go:3992 switch lex.data[(lex.p)] { case 10: goto tr20 @@ -5170,7 +5161,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof135 } st_case_135: - // line internal/scanner/scanner.go:4035 + // line internal/scanner/scanner.go:4026 switch lex.data[(lex.p)] { case 9: goto st13 @@ -6018,7 +6009,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof140 } st_case_140: - // line internal/scanner/scanner.go:4883 + // line internal/scanner/scanner.go:4874 switch lex.data[(lex.p)] { case 46: goto st67 @@ -6042,7 +6033,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:174 + // line internal/scanner/scanner.rl:165 lex.act = 10 goto st141 st141: @@ -6050,7 +6041,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof141 } st_case_141: - // line internal/scanner/scanner.go:4915 + // line internal/scanner/scanner.go:4906 switch lex.data[(lex.p)] { case 69: goto st68 @@ -6091,7 +6082,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:174 + // line internal/scanner/scanner.rl:165 lex.act = 10 goto st142 st142: @@ -6099,7 +6090,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof142 } st_case_142: - // line internal/scanner/scanner.go:4964 + // line internal/scanner/scanner.go:4955 if lex.data[(lex.p)] == 95 { goto st69 } @@ -6126,7 +6117,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof143 } st_case_143: - // line internal/scanner/scanner.go:4991 + // line internal/scanner/scanner.go:4982 switch lex.data[(lex.p)] { case 42: goto st71 @@ -6137,7 +6128,7 @@ func (lex *Lexer) Lex() *Token { } goto tr239 tr92: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st71 st71: @@ -6145,7 +6136,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof71 } st_case_71: - // line internal/scanner/scanner.go:5010 + // line internal/scanner/scanner.go:5001 switch lex.data[(lex.p)] { case 10: goto st72 @@ -6154,7 +6145,7 @@ func (lex *Lexer) Lex() *Token { } goto st71 tr93: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st72 st72: @@ -6162,7 +6153,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof72 } st_case_72: - // line internal/scanner/scanner.go:5027 + // line internal/scanner/scanner.go:5018 switch lex.data[(lex.p)] { case 10: goto tr93 @@ -6171,7 +6162,7 @@ func (lex *Lexer) Lex() *Token { } goto tr92 tr94: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st73 st73: @@ -6179,7 +6170,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof73 } st_case_73: - // line internal/scanner/scanner.go:5044 + // line internal/scanner/scanner.go:5035 switch lex.data[(lex.p)] { case 10: goto st72 @@ -6193,7 +6184,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:185 + // line internal/scanner/scanner.rl:176 lex.act = 12 goto st144 st144: @@ -6201,7 +6192,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof144 } st_case_144: - // line internal/scanner/scanner.go:5066 + // line internal/scanner/scanner.go:5057 switch lex.data[(lex.p)] { case 46: goto tr270 @@ -6224,7 +6215,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:174 + // line internal/scanner/scanner.rl:165 lex.act = 10 goto st145 st145: @@ -6232,7 +6223,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof145 } st_case_145: - // line internal/scanner/scanner.go:5097 + // line internal/scanner/scanner.go:5088 switch lex.data[(lex.p)] { case 69: goto st68 @@ -6247,7 +6238,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:185 + // line internal/scanner/scanner.rl:176 lex.act = 12 goto st146 st146: @@ -6255,7 +6246,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof146 } st_case_146: - // line internal/scanner/scanner.go:5120 + // line internal/scanner/scanner.go:5111 switch lex.data[(lex.p)] { case 46: goto tr270 @@ -6292,7 +6283,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:175 + // line internal/scanner/scanner.rl:166 lex.act = 11 goto st147 st147: @@ -6300,7 +6291,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof147 } st_case_147: - // line internal/scanner/scanner.go:5165 + // line internal/scanner/scanner.go:5156 if lex.data[(lex.p)] == 95 { goto st75 } @@ -6330,7 +6321,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:200 + // line internal/scanner/scanner.rl:191 lex.act = 13 goto st148 st148: @@ -6338,7 +6329,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof148 } st_case_148: - // line internal/scanner/scanner.go:5203 + // line internal/scanner/scanner.go:5194 if lex.data[(lex.p)] == 95 { goto st76 } @@ -6374,7 +6365,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof150 } st_case_150: - // line internal/scanner/scanner.go:5239 + // line internal/scanner/scanner.go:5230 switch lex.data[(lex.p)] { case 10: goto st78 @@ -6390,7 +6381,7 @@ func (lex *Lexer) Lex() *Token { } goto tr239 tr104: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st77 st77: @@ -6398,7 +6389,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof77 } st_case_77: - // line internal/scanner/scanner.go:5263 + // line internal/scanner/scanner.go:5254 switch lex.data[(lex.p)] { case 10: goto st78 @@ -6414,7 +6405,7 @@ func (lex *Lexer) Lex() *Token { } goto tr22 tr105: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st78 st78: @@ -6422,7 +6413,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof78 } st_case_78: - // line internal/scanner/scanner.go:5287 + // line internal/scanner/scanner.go:5278 switch lex.data[(lex.p)] { case 10: goto tr105 @@ -6438,7 +6429,7 @@ func (lex *Lexer) Lex() *Token { } goto tr22 tr106: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st79 st79: @@ -6446,13 +6437,13 @@ func (lex *Lexer) Lex() *Token { goto _test_eof79 } st_case_79: - // line internal/scanner/scanner.go:5311 + // line internal/scanner/scanner.go:5302 if lex.data[(lex.p)] == 10 { goto st78 } goto tr22 tr107: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st80 st80: @@ -6460,7 +6451,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof80 } st_case_80: - // line internal/scanner/scanner.go:5325 + // line internal/scanner/scanner.go:5316 if lex.data[(lex.p)] == 62 { goto tr108 } @@ -6475,7 +6466,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof151 } st_case_151: - // line internal/scanner/scanner.go:5340 + // line internal/scanner/scanner.go:5331 switch lex.data[(lex.p)] { case 10: goto st152 @@ -6516,7 +6507,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:315 + // line internal/scanner/scanner.rl:306 lex.act = 118 goto st154 st154: @@ -6524,7 +6515,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof154 } st_case_154: - // line internal/scanner/scanner.go:5389 + // line internal/scanner/scanner.go:5380 switch lex.data[(lex.p)] { case 60: goto st82 @@ -6584,7 +6575,7 @@ func (lex *Lexer) Lex() *Token { } goto tr115 tr115: - // line internal/scanner/scanner.rl:45 + // line internal/scanner/scanner.rl:36 lblStart = lex.p goto st84 st84: @@ -6592,7 +6583,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof84 } st_case_84: - // line internal/scanner/scanner.go:5457 + // line internal/scanner/scanner.go:5448 switch lex.data[(lex.p)] { case 34: goto tr116 @@ -6618,7 +6609,7 @@ func (lex *Lexer) Lex() *Token { } goto st84 tr116: - // line internal/scanner/scanner.rl:46 + // line internal/scanner/scanner.rl:37 lblEnd = lex.p goto st85 st85: @@ -6626,7 +6617,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof85 } st_case_85: - // line internal/scanner/scanner.go:5491 + // line internal/scanner/scanner.go:5482 switch lex.data[(lex.p)] { case 10: goto st155 @@ -6635,7 +6626,7 @@ func (lex *Lexer) Lex() *Token { } goto tr11 tr122: - // line internal/scanner/scanner.rl:46 + // line internal/scanner/scanner.rl:37 lblEnd = lex.p goto st155 st155: @@ -6643,10 +6634,10 @@ func (lex *Lexer) Lex() *Token { goto _test_eof155 } st_case_155: - // line internal/scanner/scanner.go:5508 + // line internal/scanner/scanner.go:5499 goto tr285 tr123: - // line internal/scanner/scanner.rl:46 + // line internal/scanner/scanner.rl:37 lblEnd = lex.p goto st86 st86: @@ -6654,7 +6645,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof86 } st_case_86: - // line internal/scanner/scanner.go:5519 + // line internal/scanner/scanner.go:5510 if lex.data[(lex.p)] == 10 { goto st155 } @@ -6681,7 +6672,7 @@ func (lex *Lexer) Lex() *Token { } goto tr120 tr120: - // line internal/scanner/scanner.rl:45 + // line internal/scanner/scanner.rl:36 lblStart = lex.p goto st88 st88: @@ -6689,7 +6680,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof88 } st_case_88: - // line internal/scanner/scanner.go:5554 + // line internal/scanner/scanner.go:5545 switch lex.data[(lex.p)] { case 39: goto tr116 @@ -6715,7 +6706,7 @@ func (lex *Lexer) Lex() *Token { } goto st88 tr114: - // line internal/scanner/scanner.rl:45 + // line internal/scanner/scanner.rl:36 lblStart = lex.p goto st89 st89: @@ -6723,7 +6714,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof89 } st_case_89: - // line internal/scanner/scanner.go:5588 + // line internal/scanner/scanner.go:5579 switch lex.data[(lex.p)] { case 10: goto tr122 @@ -6823,7 +6814,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof162 } st_case_162: - // line internal/scanner/scanner.go:5688 + // line internal/scanner/scanner.go:5679 switch lex.data[(lex.p)] { case 10: goto st163 @@ -6902,490 +6893,490 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:356 + // line internal/scanner/scanner.rl:347 lex.act = 135 goto st166 tr307: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:213 + // line internal/scanner/scanner.rl:204 lex.act = 16 goto st166 tr313: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:211 + // line internal/scanner/scanner.rl:202 lex.act = 14 goto st166 tr314: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:284 + // line internal/scanner/scanner.rl:275 lex.act = 87 goto st166 tr317: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:212 + // line internal/scanner/scanner.rl:203 lex.act = 15 goto st166 tr322: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:214 + // line internal/scanner/scanner.rl:205 lex.act = 17 goto st166 tr334: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:215 + // line internal/scanner/scanner.rl:206 lex.act = 18 goto st166 tr335: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:216 + // line internal/scanner/scanner.rl:207 lex.act = 19 goto st166 tr337: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:217 + // line internal/scanner/scanner.rl:208 lex.act = 20 goto st166 tr344: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:242 + // line internal/scanner/scanner.rl:233 lex.act = 45 goto st166 tr348: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:218 + // line internal/scanner/scanner.rl:209 lex.act = 21 goto st166 tr350: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:219 + // line internal/scanner/scanner.rl:210 lex.act = 22 goto st166 tr354: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:220 + // line internal/scanner/scanner.rl:211 lex.act = 23 goto st166 tr358: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:221 + // line internal/scanner/scanner.rl:212 lex.act = 24 goto st166 tr361: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:224 + // line internal/scanner/scanner.rl:215 lex.act = 27 goto st166 tr367: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:222 + // line internal/scanner/scanner.rl:213 lex.act = 25 goto st166 tr371: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:223 + // line internal/scanner/scanner.rl:214 lex.act = 26 goto st166 tr372: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:236 + // line internal/scanner/scanner.rl:227 lex.act = 39 goto st166 tr380: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:225 + // line internal/scanner/scanner.rl:216 lex.act = 28 goto st166 tr385: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:227 + // line internal/scanner/scanner.rl:218 lex.act = 30 goto st166 tr388: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:228 + // line internal/scanner/scanner.rl:219 lex.act = 31 goto st166 tr400: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:229 + // line internal/scanner/scanner.rl:220 lex.act = 32 goto st166 tr407: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:231 + // line internal/scanner/scanner.rl:222 lex.act = 34 goto st166 tr408: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:232 + // line internal/scanner/scanner.rl:223 lex.act = 35 goto st166 tr413: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:233 + // line internal/scanner/scanner.rl:224 lex.act = 36 goto st166 tr417: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:234 + // line internal/scanner/scanner.rl:225 lex.act = 37 goto st166 tr419: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:235 + // line internal/scanner/scanner.rl:226 lex.act = 38 goto st166 tr425: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:237 + // line internal/scanner/scanner.rl:228 lex.act = 40 goto st166 tr427: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:243 + // line internal/scanner/scanner.rl:234 lex.act = 46 goto st166 tr434: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:239 + // line internal/scanner/scanner.rl:230 lex.act = 42 goto st166 tr440: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:241 + // line internal/scanner/scanner.rl:232 lex.act = 44 goto st166 tr446: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:244 + // line internal/scanner/scanner.rl:235 lex.act = 47 goto st166 tr448: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:245 + // line internal/scanner/scanner.rl:236 lex.act = 48 goto st166 tr449: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:246 + // line internal/scanner/scanner.rl:237 lex.act = 49 goto st166 tr460: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:248 + // line internal/scanner/scanner.rl:239 lex.act = 51 goto st166 tr473: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:271 + // line internal/scanner/scanner.rl:262 lex.act = 74 goto st166 tr481: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:249 + // line internal/scanner/scanner.rl:240 lex.act = 52 goto st166 tr485: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:250 + // line internal/scanner/scanner.rl:241 lex.act = 53 goto st166 tr491: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:251 + // line internal/scanner/scanner.rl:242 lex.act = 54 goto st166 tr494: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:247 + // line internal/scanner/scanner.rl:238 lex.act = 50 goto st166 tr497: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:252 + // line internal/scanner/scanner.rl:243 lex.act = 55 goto st166 tr506: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:253 + // line internal/scanner/scanner.rl:244 lex.act = 56 goto st166 tr507: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:283 + // line internal/scanner/scanner.rl:274 lex.act = 86 goto st166 tr508: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:285 + // line internal/scanner/scanner.rl:276 lex.act = 88 goto st166 tr515: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:256 + // line internal/scanner/scanner.rl:247 lex.act = 59 goto st166 tr518: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:254 + // line internal/scanner/scanner.rl:245 lex.act = 57 goto st166 tr524: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:257 + // line internal/scanner/scanner.rl:248 lex.act = 60 goto st166 tr528: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:255 + // line internal/scanner/scanner.rl:246 lex.act = 58 goto st166 tr541: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:273 + // line internal/scanner/scanner.rl:264 lex.act = 76 goto st166 tr544: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:258 + // line internal/scanner/scanner.rl:249 lex.act = 61 goto st166 tr550: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:259 + // line internal/scanner/scanner.rl:250 lex.act = 62 goto st166 tr554: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:260 + // line internal/scanner/scanner.rl:251 lex.act = 63 goto st166 tr559: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:261 + // line internal/scanner/scanner.rl:252 lex.act = 64 goto st166 tr561: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:263 + // line internal/scanner/scanner.rl:254 lex.act = 66 goto st166 tr563: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:262 + // line internal/scanner/scanner.rl:253 lex.act = 65 goto st166 tr568: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:264 + // line internal/scanner/scanner.rl:255 lex.act = 67 goto st166 tr569: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:265 + // line internal/scanner/scanner.rl:256 lex.act = 68 goto st166 tr571: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:266 + // line internal/scanner/scanner.rl:257 lex.act = 69 goto st166 tr575: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:267 + // line internal/scanner/scanner.rl:258 lex.act = 70 goto st166 tr577: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:286 + // line internal/scanner/scanner.rl:277 lex.act = 89 goto st166 tr586: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:268 + // line internal/scanner/scanner.rl:259 lex.act = 71 goto st166 tr602: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:274 + // line internal/scanner/scanner.rl:265 lex.act = 77 goto st166 tr606: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:275 + // line internal/scanner/scanner.rl:266 lex.act = 78 goto st166 tr612: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:276 + // line internal/scanner/scanner.rl:267 lex.act = 79 goto st166 tr620: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:277 + // line internal/scanner/scanner.rl:268 lex.act = 80 goto st166 tr632: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:282 + // line internal/scanner/scanner.rl:273 lex.act = 85 goto st166 tr637: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:278 + // line internal/scanner/scanner.rl:269 lex.act = 81 goto st166 tr644: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:280 + // line internal/scanner/scanner.rl:271 lex.act = 83 goto st166 tr654: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:279 + // line internal/scanner/scanner.rl:270 lex.act = 82 goto st166 tr660: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:281 + // line internal/scanner/scanner.rl:272 lex.act = 84 goto st166 st166: @@ -7393,7 +7384,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof166 } st_case_166: - // line internal/scanner/scanner.go:6258 + // line internal/scanner/scanner.go:6249 if lex.data[(lex.p)] == 96 { goto tr11 } @@ -7729,7 +7720,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:356 + // line internal/scanner/scanner.rl:347 lex.act = 135 goto st177 st177: @@ -7737,7 +7728,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof177 } st_case_177: - // line internal/scanner/scanner.go:6602 + // line internal/scanner/scanner.go:6593 switch lex.data[(lex.p)] { case 34: goto st7 @@ -14731,7 +14722,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof397 } st_case_397: - // line internal/scanner/scanner.go:13596 + // line internal/scanner/scanner.go:13587 switch lex.data[(lex.p)] { case 10: goto st94 @@ -14774,7 +14765,7 @@ func (lex *Lexer) Lex() *Token { } goto tr211 tr134: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st93 st93: @@ -14782,7 +14773,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof93 } st_case_93: - // line internal/scanner/scanner.go:13647 + // line internal/scanner/scanner.go:13638 switch lex.data[(lex.p)] { case 10: goto st94 @@ -14800,7 +14791,7 @@ func (lex *Lexer) Lex() *Token { } goto tr129 tr135: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st94 st94: @@ -14808,7 +14799,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof94 } st_case_94: - // line internal/scanner/scanner.go:13673 + // line internal/scanner/scanner.go:13664 switch lex.data[(lex.p)] { case 10: goto tr135 @@ -14826,7 +14817,7 @@ func (lex *Lexer) Lex() *Token { } goto tr129 tr136: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st95 st95: @@ -14834,13 +14825,13 @@ func (lex *Lexer) Lex() *Token { goto _test_eof95 } st_case_95: - // line internal/scanner/scanner.go:13699 + // line internal/scanner/scanner.go:13690 if lex.data[(lex.p)] == 10 { goto st94 } goto tr129 tr137: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st96 st96: @@ -14848,7 +14839,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof96 } st_case_96: - // line internal/scanner/scanner.go:13713 + // line internal/scanner/scanner.go:13704 switch lex.data[(lex.p)] { case 82: goto st97 @@ -16952,14 +16943,14 @@ func (lex *Lexer) Lex() *Token { } goto tr239 tr141: - // line internal/scanner/scanner.rl:390 + // line internal/scanner/scanner.rl:381 (lex.p) = (lex.te) - 1 { lex.addToken(T_WHITESPACE, lex.ts, lex.te) } goto st468 tr663: - // line internal/scanner/scanner.rl:393 + // line internal/scanner/scanner.rl:384 lex.te = (lex.p) + 1 { lex.ungetCnt(1) @@ -16969,7 +16960,7 @@ func (lex *Lexer) Lex() *Token { } goto st468 tr668: - // line internal/scanner/scanner.rl:390 + // line internal/scanner/scanner.rl:381 lex.te = (lex.p) (lex.p)-- { @@ -16977,9 +16968,9 @@ func (lex *Lexer) Lex() *Token { } goto st468 tr670: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) - // line internal/scanner/scanner.rl:390 + // line internal/scanner/scanner.rl:381 lex.te = (lex.p) (lex.p)-- { @@ -16987,7 +16978,7 @@ func (lex *Lexer) Lex() *Token { } goto st468 tr674: - // line internal/scanner/scanner.rl:393 + // line internal/scanner/scanner.rl:384 lex.te = (lex.p) (lex.p)-- { @@ -16998,7 +16989,7 @@ func (lex *Lexer) Lex() *Token { } goto st468 tr675: - // line internal/scanner/scanner.rl:391 + // line internal/scanner/scanner.rl:382 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -17012,7 +17003,7 @@ func (lex *Lexer) Lex() *Token { goto st468 tr676: lex.cs = 468 - // line internal/scanner/scanner.rl:392 + // line internal/scanner/scanner.rl:383 lex.te = (lex.p) (lex.p)-- { @@ -17036,7 +17027,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:15869 + // line internal/scanner/scanner.go:15860 switch lex.data[(lex.p)] { case 10: goto tr142 @@ -17081,7 +17072,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st469 st469: @@ -17089,7 +17080,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof469 } st_case_469: - // line internal/scanner/scanner.go:15922 + // line internal/scanner/scanner.go:15913 switch lex.data[(lex.p)] { case 10: goto tr142 @@ -17111,7 +17102,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st470 st470: @@ -17119,7 +17110,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof470 } st_case_470: - // line internal/scanner/scanner.go:15952 + // line internal/scanner/scanner.go:15943 switch lex.data[(lex.p)] { case 10: goto tr672 @@ -17133,7 +17124,7 @@ func (lex *Lexer) Lex() *Token { } goto tr670 tr673: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st99 st99: @@ -17141,7 +17132,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof99 } st_case_99: - // line internal/scanner/scanner.go:15974 + // line internal/scanner/scanner.go:15965 if lex.data[(lex.p)] == 10 { goto tr142 } @@ -17217,9 +17208,9 @@ func (lex *Lexer) Lex() *Token { goto _again tr680: lex.cs = 474 - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) - // line internal/scanner/scanner.rl:397 + // line internal/scanner/scanner.rl:388 lex.te = (lex.p) (lex.p)-- { @@ -17246,7 +17237,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:16068 + // line internal/scanner/scanner.go:16059 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -17300,16 +17291,16 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:397 + // line internal/scanner/scanner.rl:388 lex.act = 146 goto st475 tr681: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) - // line internal/scanner/scanner.rl:397 + // line internal/scanner/scanner.rl:388 lex.act = 146 goto st475 st475: @@ -17317,7 +17308,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof475 } st_case_475: - // line internal/scanner/scanner.go:16139 + // line internal/scanner/scanner.go:16130 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -17364,7 +17355,7 @@ func (lex *Lexer) Lex() *Token { } goto tr679 tr682: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st476 st476: @@ -17372,7 +17363,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof476 } st_case_476: - // line internal/scanner/scanner.go:16194 + // line internal/scanner/scanner.go:16185 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -17419,7 +17410,7 @@ func (lex *Lexer) Lex() *Token { } goto tr680 tr143: - // line internal/scanner/scanner.rl:406 + // line internal/scanner/scanner.rl:397 lex.te = (lex.p) + 1 { lex.ungetCnt(1) @@ -17430,7 +17421,7 @@ func (lex *Lexer) Lex() *Token { } goto st477 tr689: - // line internal/scanner/scanner.rl:408 + // line internal/scanner/scanner.rl:399 lex.te = (lex.p) (lex.p)-- { @@ -17446,7 +17437,7 @@ func (lex *Lexer) Lex() *Token { } goto st477 tr690: - // line internal/scanner/scanner.rl:407 + // line internal/scanner/scanner.rl:398 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -17496,9 +17487,9 @@ func (lex *Lexer) Lex() *Token { goto _again tr692: lex.cs = 477 - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) - // line internal/scanner/scanner.rl:409 + // line internal/scanner/scanner.rl:400 lex.te = (lex.p) (lex.p)-- { @@ -17516,7 +17507,7 @@ func (lex *Lexer) Lex() *Token { goto _again tr696: lex.cs = 477 - // line internal/scanner/scanner.rl:409 + // line internal/scanner/scanner.rl:400 lex.te = (lex.p) (lex.p)-- { @@ -17543,7 +17534,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:16323 + // line internal/scanner/scanner.go:16314 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -17620,30 +17611,30 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:409 + // line internal/scanner/scanner.rl:400 lex.act = 150 goto st479 tr693: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) - // line internal/scanner/scanner.rl:409 + // line internal/scanner/scanner.rl:400 lex.act = 150 goto st479 tr695: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:407 + // line internal/scanner/scanner.rl:398 lex.act = 148 goto st479 tr697: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:406 + // line internal/scanner/scanner.rl:397 lex.act = 147 goto st479 st479: @@ -17651,7 +17642,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof479 } st_case_479: - // line internal/scanner/scanner.go:16431 + // line internal/scanner/scanner.go:16422 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -17698,7 +17689,7 @@ func (lex *Lexer) Lex() *Token { } goto tr691 tr694: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st480 st480: @@ -17706,7 +17697,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof480 } st_case_480: - // line internal/scanner/scanner.go:16486 + // line internal/scanner/scanner.go:16477 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -17863,7 +17854,7 @@ func (lex *Lexer) Lex() *Token { } goto tr696 tr145: - // line internal/scanner/scanner.rl:421 + // line internal/scanner/scanner.rl:412 lex.te = (lex.p) + 1 { lex.ungetCnt(1) @@ -17875,7 +17866,7 @@ func (lex *Lexer) Lex() *Token { goto st483 tr699: lex.cs = 483 - // line internal/scanner/scanner.rl:424 + // line internal/scanner/scanner.rl:415 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -17888,7 +17879,7 @@ func (lex *Lexer) Lex() *Token { } goto _again tr706: - // line internal/scanner/scanner.rl:423 + // line internal/scanner/scanner.rl:414 lex.te = (lex.p) (lex.p)-- { @@ -17904,7 +17895,7 @@ func (lex *Lexer) Lex() *Token { } goto st483 tr707: - // line internal/scanner/scanner.rl:422 + // line internal/scanner/scanner.rl:413 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -17960,9 +17951,9 @@ func (lex *Lexer) Lex() *Token { goto _again tr709: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) - // line internal/scanner/scanner.rl:425 + // line internal/scanner/scanner.rl:416 lex.te = (lex.p) (lex.p)-- { @@ -17976,7 +17967,7 @@ func (lex *Lexer) Lex() *Token { } goto st483 tr713: - // line internal/scanner/scanner.rl:425 + // line internal/scanner/scanner.rl:416 lex.te = (lex.p) (lex.p)-- { @@ -18000,7 +17991,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:16720 + // line internal/scanner/scanner.go:16711 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -18081,37 +18072,37 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:425 + // line internal/scanner/scanner.rl:416 lex.act = 155 goto st485 tr704: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:424 + // line internal/scanner/scanner.rl:415 lex.act = 154 goto st485 tr710: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) - // line internal/scanner/scanner.rl:425 + // line internal/scanner/scanner.rl:416 lex.act = 155 goto st485 tr712: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:422 + // line internal/scanner/scanner.rl:413 lex.act = 152 goto st485 tr714: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:421 + // line internal/scanner/scanner.rl:412 lex.act = 151 goto st485 st485: @@ -18119,7 +18110,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof485 } st_case_485: - // line internal/scanner/scanner.go:16839 + // line internal/scanner/scanner.go:16830 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -18166,7 +18157,7 @@ func (lex *Lexer) Lex() *Token { } goto tr708 tr711: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st486 st486: @@ -18174,7 +18165,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof486 } st_case_486: - // line internal/scanner/scanner.go:16894 + // line internal/scanner/scanner.go:16885 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -18331,7 +18322,7 @@ func (lex *Lexer) Lex() *Token { } goto tr713 tr146: - // line internal/scanner/scanner.rl:433 + // line internal/scanner/scanner.rl:424 lex.te = (lex.p) + 1 { lex.ungetCnt(1) @@ -18343,7 +18334,7 @@ func (lex *Lexer) Lex() *Token { goto st489 tr715: lex.cs = 489 - // line internal/scanner/scanner.rl:436 + // line internal/scanner/scanner.rl:427 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -18356,7 +18347,7 @@ func (lex *Lexer) Lex() *Token { } goto _again tr723: - // line internal/scanner/scanner.rl:435 + // line internal/scanner/scanner.rl:426 lex.te = (lex.p) (lex.p)-- { @@ -18372,7 +18363,7 @@ func (lex *Lexer) Lex() *Token { } goto st489 tr724: - // line internal/scanner/scanner.rl:434 + // line internal/scanner/scanner.rl:425 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -18428,9 +18419,9 @@ func (lex *Lexer) Lex() *Token { goto _again tr726: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) - // line internal/scanner/scanner.rl:437 + // line internal/scanner/scanner.rl:428 lex.te = (lex.p) (lex.p)-- { @@ -18444,7 +18435,7 @@ func (lex *Lexer) Lex() *Token { } goto st489 tr730: - // line internal/scanner/scanner.rl:437 + // line internal/scanner/scanner.rl:428 lex.te = (lex.p) (lex.p)-- { @@ -18468,7 +18459,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:17128 + // line internal/scanner/scanner.go:17119 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -18549,37 +18540,37 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:437 + // line internal/scanner/scanner.rl:428 lex.act = 160 goto st491 tr720: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:436 + // line internal/scanner/scanner.rl:427 lex.act = 159 goto st491 tr727: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) - // line internal/scanner/scanner.rl:437 + // line internal/scanner/scanner.rl:428 lex.act = 160 goto st491 tr729: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:434 + // line internal/scanner/scanner.rl:425 lex.act = 157 goto st491 tr731: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:433 + // line internal/scanner/scanner.rl:424 lex.act = 156 goto st491 st491: @@ -18587,7 +18578,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof491 } st_case_491: - // line internal/scanner/scanner.go:17247 + // line internal/scanner/scanner.go:17238 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -18634,7 +18625,7 @@ func (lex *Lexer) Lex() *Token { } goto tr725 tr728: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st492 st492: @@ -18642,7 +18633,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof492 } st_case_492: - // line internal/scanner/scanner.go:17302 + // line internal/scanner/scanner.go:17293 _widec = int16(lex.data[(lex.p)]) switch { case lex.data[(lex.p)] < 11: @@ -18800,7 +18791,7 @@ func (lex *Lexer) Lex() *Token { goto tr730 tr733: lex.cs = 495 - // line internal/scanner/scanner.rl:445 + // line internal/scanner/scanner.rl:436 lex.te = (lex.p) (lex.p)-- { @@ -18824,7 +18815,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:17481 + // line internal/scanner/scanner.go:17472 if lex.data[(lex.p)] == 96 { goto st0 } @@ -18868,7 +18859,7 @@ func (lex *Lexer) Lex() *Token { } goto st496 tr147: - // line internal/scanner/scanner.rl:464 + // line internal/scanner/scanner.rl:455 (lex.p) = (lex.te) - 1 { lex.ungetCnt(1) @@ -18880,7 +18871,7 @@ func (lex *Lexer) Lex() *Token { } goto st497 tr148: - // line internal/scanner/scanner.rl:461 + // line internal/scanner/scanner.rl:452 lex.te = (lex.p) + 1 { lex.ungetCnt(1) @@ -18894,7 +18885,7 @@ func (lex *Lexer) Lex() *Token { } goto st497 tr734: - // line internal/scanner/scanner.rl:464 + // line internal/scanner/scanner.rl:455 lex.te = (lex.p) + 1 { lex.ungetCnt(1) @@ -18906,7 +18897,7 @@ func (lex *Lexer) Lex() *Token { } goto st497 tr738: - // line internal/scanner/scanner.rl:463 + // line internal/scanner/scanner.rl:454 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -18916,7 +18907,7 @@ func (lex *Lexer) Lex() *Token { } goto st497 tr739: - // line internal/scanner/scanner.rl:464 + // line internal/scanner/scanner.rl:455 lex.te = (lex.p) (lex.p)-- { @@ -18929,7 +18920,7 @@ func (lex *Lexer) Lex() *Token { } goto st497 tr741: - // line internal/scanner/scanner.rl:460 + // line internal/scanner/scanner.rl:451 lex.te = (lex.p) (lex.p)-- { @@ -18943,7 +18934,7 @@ func (lex *Lexer) Lex() *Token { } goto st497 tr743: - // line internal/scanner/scanner.rl:462 + // line internal/scanner/scanner.rl:453 lex.te = (lex.p) (lex.p)-- { @@ -18967,7 +18958,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:17573 + // line internal/scanner/scanner.go:17564 switch lex.data[(lex.p)] { case 36: goto st498 @@ -19048,7 +19039,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof500 } st_case_500: - // line internal/scanner/scanner.go:17654 + // line internal/scanner/scanner.go:17645 if lex.data[(lex.p)] == 62 { goto st103 } @@ -19101,7 +19092,7 @@ func (lex *Lexer) Lex() *Token { } goto st501 tr149: - // line internal/scanner/scanner.rl:468 + // line internal/scanner/scanner.rl:459 (lex.p) = (lex.te) - 1 { lex.setTokenPosition(token) @@ -19114,15 +19105,15 @@ func (lex *Lexer) Lex() *Token { } goto st502 tr744: - // line internal/scanner/scanner.rl:474 + // line internal/scanner/scanner.rl:465 lex.te = (lex.p) + 1 { c := lex.data[lex.p] - lex.Error(fmt.Sprintf("WARNING: Unexpected character in input: '%c' (ASCII=%d)", c, c)) + lex.error(fmt.Sprintf("WARNING: Unexpected character in input: '%c' (ASCII=%d)", c, c)) } goto st502 tr745: - // line internal/scanner/scanner.rl:471 + // line internal/scanner/scanner.rl:462 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -19132,7 +19123,7 @@ func (lex *Lexer) Lex() *Token { } goto st502 tr748: - // line internal/scanner/scanner.rl:472 + // line internal/scanner/scanner.rl:463 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -19145,7 +19136,7 @@ func (lex *Lexer) Lex() *Token { } goto st502 tr752: - // line internal/scanner/scanner.rl:473 + // line internal/scanner/scanner.rl:464 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -19155,9 +19146,9 @@ func (lex *Lexer) Lex() *Token { } goto st502 tr753: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) - // line internal/scanner/scanner.rl:471 + // line internal/scanner/scanner.rl:462 lex.te = (lex.p) (lex.p)-- { @@ -19168,16 +19159,16 @@ func (lex *Lexer) Lex() *Token { } goto st502 tr754: - // line internal/scanner/scanner.rl:474 + // line internal/scanner/scanner.rl:465 lex.te = (lex.p) (lex.p)-- { c := lex.data[lex.p] - lex.Error(fmt.Sprintf("WARNING: Unexpected character in input: '%c' (ASCII=%d)", c, c)) + lex.error(fmt.Sprintf("WARNING: Unexpected character in input: '%c' (ASCII=%d)", c, c)) } goto st502 tr755: - // line internal/scanner/scanner.rl:472 + // line internal/scanner/scanner.rl:463 lex.te = (lex.p) (lex.p)-- { @@ -19191,7 +19182,7 @@ func (lex *Lexer) Lex() *Token { } goto st502 tr757: - // line internal/scanner/scanner.rl:469 + // line internal/scanner/scanner.rl:460 lex.te = (lex.p) (lex.p)-- { @@ -19205,7 +19196,7 @@ func (lex *Lexer) Lex() *Token { } goto st502 tr758: - // line internal/scanner/scanner.rl:468 + // line internal/scanner/scanner.rl:459 lex.te = (lex.p) (lex.p)-- { @@ -19219,7 +19210,7 @@ func (lex *Lexer) Lex() *Token { } goto st502 tr762: - // line internal/scanner/scanner.rl:470 + // line internal/scanner/scanner.rl:461 lex.te = (lex.p) (lex.p)-- { @@ -19243,7 +19234,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:17786 + // line internal/scanner/scanner.go:17777 switch lex.data[(lex.p)] { case 10: goto st503 @@ -19380,7 +19371,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof507 } st_case_507: - // line internal/scanner/scanner.go:17923 + // line internal/scanner/scanner.go:17914 switch lex.data[(lex.p)] { case 95: goto st104 @@ -19403,7 +19394,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof508 } st_case_508: - // line internal/scanner/scanner.go:17946 + // line internal/scanner/scanner.go:17937 if lex.data[(lex.p)] == 95 { goto st104 } @@ -19439,7 +19430,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof509 } st_case_509: - // line internal/scanner/scanner.go:17982 + // line internal/scanner/scanner.go:17973 if lex.data[(lex.p)] == 95 { goto st105 } @@ -19475,7 +19466,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof510 } st_case_510: - // line internal/scanner/scanner.go:18018 + // line internal/scanner/scanner.go:18009 if lex.data[(lex.p)] == 95 { goto st106 } @@ -19520,7 +19511,7 @@ func (lex *Lexer) Lex() *Token { goto st511 tr153: lex.cs = 512 - // line internal/scanner/scanner.rl:482 + // line internal/scanner/scanner.rl:473 (lex.p) = (lex.te) - 1 { lex.ungetCnt(1) @@ -19529,7 +19520,7 @@ func (lex *Lexer) Lex() *Token { goto _again tr155: lex.cs = 512 - // line internal/scanner/scanner.rl:481 + // line internal/scanner/scanner.rl:472 lex.te = (lex.p) + 1 { lex.ungetCnt(1) @@ -19544,7 +19535,7 @@ func (lex *Lexer) Lex() *Token { goto _again tr763: lex.cs = 512 - // line internal/scanner/scanner.rl:482 + // line internal/scanner/scanner.rl:473 lex.te = (lex.p) + 1 { lex.ungetCnt(1) @@ -19553,7 +19544,7 @@ func (lex *Lexer) Lex() *Token { goto _again tr765: lex.cs = 512 - // line internal/scanner/scanner.rl:482 + // line internal/scanner/scanner.rl:473 lex.te = (lex.p) (lex.p)-- { @@ -19572,7 +19563,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:18097 + // line internal/scanner/scanner.go:18088 if lex.data[(lex.p)] == 96 { goto tr763 } @@ -19599,7 +19590,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof513 } st_case_513: - // line internal/scanner/scanner.go:18124 + // line internal/scanner/scanner.go:18115 switch lex.data[(lex.p)] { case 91: goto tr155 @@ -19658,7 +19649,7 @@ func (lex *Lexer) Lex() *Token { } goto st107 tr156: - // line internal/scanner/scanner.rl:486 + // line internal/scanner/scanner.rl:477 (lex.p) = (lex.te) - 1 { lex.addToken(T_WHITESPACE, lex.ts, lex.te) @@ -19666,7 +19657,7 @@ func (lex *Lexer) Lex() *Token { goto st514 tr766: lex.cs = 514 - // line internal/scanner/scanner.rl:488 + // line internal/scanner/scanner.rl:479 lex.te = (lex.p) + 1 { lex.ungetCnt(1) @@ -19675,7 +19666,7 @@ func (lex *Lexer) Lex() *Token { goto _again tr769: lex.cs = 514 - // line internal/scanner/scanner.rl:487 + // line internal/scanner/scanner.rl:478 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -19688,7 +19679,7 @@ func (lex *Lexer) Lex() *Token { } goto _again tr770: - // line internal/scanner/scanner.rl:486 + // line internal/scanner/scanner.rl:477 lex.te = (lex.p) (lex.p)-- { @@ -19696,9 +19687,9 @@ func (lex *Lexer) Lex() *Token { } goto st514 tr772: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) - // line internal/scanner/scanner.rl:486 + // line internal/scanner/scanner.rl:477 lex.te = (lex.p) (lex.p)-- { @@ -19707,7 +19698,7 @@ func (lex *Lexer) Lex() *Token { goto st514 tr776: lex.cs = 514 - // line internal/scanner/scanner.rl:488 + // line internal/scanner/scanner.rl:479 lex.te = (lex.p) (lex.p)-- { @@ -19726,7 +19717,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:18231 + // line internal/scanner/scanner.go:18222 switch lex.data[(lex.p)] { case 10: goto tr157 @@ -19750,7 +19741,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st515 st515: @@ -19758,7 +19749,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof515 } st_case_515: - // line internal/scanner/scanner.go:18263 + // line internal/scanner/scanner.go:18254 switch lex.data[(lex.p)] { case 10: goto tr157 @@ -19780,7 +19771,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st516 st516: @@ -19788,7 +19779,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof516 } st_case_516: - // line internal/scanner/scanner.go:18293 + // line internal/scanner/scanner.go:18284 switch lex.data[(lex.p)] { case 10: goto tr774 @@ -19802,7 +19793,7 @@ func (lex *Lexer) Lex() *Token { } goto tr772 tr775: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st108 st108: @@ -19810,7 +19801,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof108 } st_case_108: - // line internal/scanner/scanner.go:18315 + // line internal/scanner/scanner.go:18306 if lex.data[(lex.p)] == 10 { goto tr157 } @@ -19825,7 +19816,7 @@ func (lex *Lexer) Lex() *Token { } goto tr776 tr158: - // line internal/scanner/scanner.rl:492 + // line internal/scanner/scanner.rl:483 (lex.p) = (lex.te) - 1 { lex.addToken(T_WHITESPACE, lex.ts, lex.te) @@ -19833,7 +19824,7 @@ func (lex *Lexer) Lex() *Token { goto st518 tr777: lex.cs = 518 - // line internal/scanner/scanner.rl:494 + // line internal/scanner/scanner.rl:485 lex.te = (lex.p) + 1 { lex.ungetCnt(1) @@ -19842,7 +19833,7 @@ func (lex *Lexer) Lex() *Token { goto _again tr780: lex.cs = 518 - // line internal/scanner/scanner.rl:493 + // line internal/scanner/scanner.rl:484 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -19855,7 +19846,7 @@ func (lex *Lexer) Lex() *Token { } goto _again tr781: - // line internal/scanner/scanner.rl:492 + // line internal/scanner/scanner.rl:483 lex.te = (lex.p) (lex.p)-- { @@ -19863,9 +19854,9 @@ func (lex *Lexer) Lex() *Token { } goto st518 tr783: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) - // line internal/scanner/scanner.rl:492 + // line internal/scanner/scanner.rl:483 lex.te = (lex.p) (lex.p)-- { @@ -19874,7 +19865,7 @@ func (lex *Lexer) Lex() *Token { goto st518 tr787: lex.cs = 518 - // line internal/scanner/scanner.rl:494 + // line internal/scanner/scanner.rl:485 lex.te = (lex.p) (lex.p)-- { @@ -19893,7 +19884,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:18378 + // line internal/scanner/scanner.go:18369 switch lex.data[(lex.p)] { case 10: goto tr159 @@ -19917,7 +19908,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st519 st519: @@ -19925,7 +19916,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof519 } st_case_519: - // line internal/scanner/scanner.go:18410 + // line internal/scanner/scanner.go:18401 switch lex.data[(lex.p)] { case 10: goto tr159 @@ -19947,7 +19938,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st520 st520: @@ -19955,7 +19946,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof520 } st_case_520: - // line internal/scanner/scanner.go:18440 + // line internal/scanner/scanner.go:18431 switch lex.data[(lex.p)] { case 10: goto tr785 @@ -19969,7 +19960,7 @@ func (lex *Lexer) Lex() *Token { } goto tr783 tr786: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st109 st109: @@ -19977,7 +19968,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof109 } st_case_109: - // line internal/scanner/scanner.go:18462 + // line internal/scanner/scanner.go:18453 if lex.data[(lex.p)] == 10 { goto tr159 } @@ -19992,7 +19983,7 @@ func (lex *Lexer) Lex() *Token { } goto tr787 tr160: - // line internal/scanner/scanner.rl:498 + // line internal/scanner/scanner.rl:489 (lex.p) = (lex.te) - 1 { lex.addToken(T_WHITESPACE, lex.ts, lex.te) @@ -20000,7 +19991,7 @@ func (lex *Lexer) Lex() *Token { goto st522 tr788: lex.cs = 522 - // line internal/scanner/scanner.rl:500 + // line internal/scanner/scanner.rl:491 lex.te = (lex.p) + 1 { lex.ungetCnt(1) @@ -20009,7 +20000,7 @@ func (lex *Lexer) Lex() *Token { goto _again tr791: lex.cs = 522 - // line internal/scanner/scanner.rl:499 + // line internal/scanner/scanner.rl:490 lex.te = (lex.p) + 1 { lex.setTokenPosition(token) @@ -20022,7 +20013,7 @@ func (lex *Lexer) Lex() *Token { } goto _again tr792: - // line internal/scanner/scanner.rl:498 + // line internal/scanner/scanner.rl:489 lex.te = (lex.p) (lex.p)-- { @@ -20030,9 +20021,9 @@ func (lex *Lexer) Lex() *Token { } goto st522 tr794: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) - // line internal/scanner/scanner.rl:498 + // line internal/scanner/scanner.rl:489 lex.te = (lex.p) (lex.p)-- { @@ -20041,7 +20032,7 @@ func (lex *Lexer) Lex() *Token { goto st522 tr798: lex.cs = 522 - // line internal/scanner/scanner.rl:500 + // line internal/scanner/scanner.rl:491 lex.te = (lex.p) (lex.p)-- { @@ -20060,7 +20051,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:18525 + // line internal/scanner/scanner.go:18516 switch lex.data[(lex.p)] { case 10: goto tr161 @@ -20084,7 +20075,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st523 st523: @@ -20092,7 +20083,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof523 } st_case_523: - // line internal/scanner/scanner.go:18557 + // line internal/scanner/scanner.go:18548 switch lex.data[(lex.p)] { case 10: goto tr161 @@ -20114,7 +20105,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st524 st524: @@ -20122,7 +20113,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof524 } st_case_524: - // line internal/scanner/scanner.go:18587 + // line internal/scanner/scanner.go:18578 switch lex.data[(lex.p)] { case 10: goto tr796 @@ -20136,7 +20127,7 @@ func (lex *Lexer) Lex() *Token { } goto tr794 tr797: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st110 st110: @@ -20144,7 +20135,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof110 } st_case_110: - // line internal/scanner/scanner.go:18609 + // line internal/scanner/scanner.go:18600 if lex.data[(lex.p)] == 10 { goto tr161 } @@ -20176,9 +20167,9 @@ func (lex *Lexer) Lex() *Token { goto st526 tr802: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) - // line internal/scanner/scanner.rl:504 + // line internal/scanner/scanner.rl:495 lex.te = (lex.p) (lex.p)-- { @@ -20199,7 +20190,7 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.ts = (lex.p) - // line internal/scanner/scanner.go:18656 + // line internal/scanner/scanner.go:18647 if lex.data[(lex.p)] == 10 { goto st528 } @@ -20208,16 +20199,16 @@ func (lex *Lexer) Lex() *Token { // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:504 + // line internal/scanner/scanner.rl:495 lex.act = 186 goto st527 tr803: // line NONE:1 lex.te = (lex.p) + 1 - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) - // line internal/scanner/scanner.rl:504 + // line internal/scanner/scanner.rl:495 lex.act = 186 goto st527 st527: @@ -20225,13 +20216,13 @@ func (lex *Lexer) Lex() *Token { goto _test_eof527 } st_case_527: - // line internal/scanner/scanner.go:18682 + // line internal/scanner/scanner.go:18673 if lex.data[(lex.p)] == 10 { goto st528 } goto tr799 tr804: - // line internal/scanner/scanner.rl:64 + // line internal/scanner/scanner.rl:55 lex.NewLines.Append(lex.p) goto st528 st528: @@ -20239,7 +20230,7 @@ func (lex *Lexer) Lex() *Token { goto _test_eof528 } st_case_528: - // line internal/scanner/scanner.go:18696 + // line internal/scanner/scanner.go:18687 if lex.data[(lex.p)] == 10 { goto tr804 } @@ -22861,7 +22852,7 @@ func (lex *Lexer) Lex() *Token { } } - // line internal/scanner/scanner.rl:508 + // line internal/scanner/scanner.rl:499 token.Hidden = lex.HiddenTokens token.Value = lex.data[lex.ts:lex.te] diff --git a/internal/scanner/scanner.rl b/internal/scanner/scanner.rl index abd03b4..f885098 100644 --- a/internal/scanner/scanner.rl +++ b/internal/scanner/scanner.rl @@ -14,17 +14,8 @@ import ( variable pe lex.pe; }%% -func NewLexer(data []byte) *Lexer { - lex := &Lexer{ - data: data, - pe: len(data), - stack: make([]int, 0), - - TokenPool: &TokenPool{}, - NewLines: NewLines{make([]int, 0, 128)}, - } +func initLexer(lex *Lexer) { %% write init; - return lex } func (lex *Lexer) Lex() *Token { @@ -382,7 +373,7 @@ func (lex *Lexer) Lex() *Token { any_line => { c := lex.data[lex.p] - lex.Error(fmt.Sprintf("WARNING: Unexpected character in input: '%c' (ASCII=%d)", c, c)); + lex.error(fmt.Sprintf("WARNING: Unexpected character in input: '%c' (ASCII=%d)", c, c)); }; *|; @@ -473,7 +464,7 @@ func (lex *Lexer) Lex() *Token { ']' > (svi, 2) => {lex.setTokenPosition(token); tok = TokenID(int(']')); lex.ret(2); goto _out;}; any_line => { c := lex.data[lex.p] - lex.Error(fmt.Sprintf("WARNING: Unexpected character in input: '%c' (ASCII=%d)", c, c)); + lex.error(fmt.Sprintf("WARNING: Unexpected character in input: '%c' (ASCII=%d)", c, c)); }; *|; diff --git a/internal/scanner/scanner_test.go b/internal/scanner/scanner_test.go index ec61cbc..c9f63af 100644 --- a/internal/scanner/scanner_test.go +++ b/internal/scanner/scanner_test.go @@ -1,6 +1,8 @@ package scanner import ( + "github.com/z7zmey/php-parser/pkg/errors" + "github.com/z7zmey/php-parser/pkg/position" "testing" "github.com/z7zmey/php-parser/pkg/token" @@ -351,7 +353,7 @@ func TestTokens(t *testing.T) { T_UNSET_CAST.String(), } - lexer := NewLexer([]byte(src)) + lexer := NewLexer([]byte(src), nil) lexer.WithHiddenTokens = true actual := []string{} @@ -379,7 +381,7 @@ func TestShebang(t *testing.T) { "\n", } - lexer := NewLexer([]byte(src)) + lexer := NewLexer([]byte(src), nil) lexer.WithHiddenTokens = true actual := []string{} @@ -399,7 +401,7 @@ func TestShebangHtml(t *testing.T) { 0.1 ` - lexer := NewLexer([]byte(src)) + lexer := NewLexer([]byte(src), nil) lexer.WithHiddenTokens = true tkn := lexer.Lex() @@ -449,7 +451,7 @@ func TestNumberTokens(t *testing.T) { T_DNUMBER.String(), } - lexer := NewLexer([]byte(src)) + lexer := NewLexer([]byte(src), nil) lexer.WithHiddenTokens = true actual := []string{} @@ -506,7 +508,7 @@ func TestConstantStrings(t *testing.T) { T_CONSTANT_ENCAPSED_STRING.String(), } - lexer := NewLexer([]byte(src)) + lexer := NewLexer([]byte(src), nil) lexer.WithHiddenTokens = true actual := []string{} @@ -553,7 +555,7 @@ func TestSingleQuoteStringTokens(t *testing.T) { T_CONSTANT_ENCAPSED_STRING.String(), } - lexer := NewLexer([]byte(src)) + lexer := NewLexer([]byte(src), nil) actual := []string{} for { @@ -640,7 +642,7 @@ func TestTeplateStringTokens(t *testing.T) { TokenID(int('"')).String(), } - lexer := NewLexer([]byte(src)) + lexer := NewLexer([]byte(src), nil) lexer.WithHiddenTokens = true actual := []string{} @@ -725,7 +727,7 @@ func TestBackquoteStringTokens(t *testing.T) { TokenID(int('`')).String(), } - lexer := NewLexer([]byte(src)) + lexer := NewLexer([]byte(src), nil) lexer.WithHiddenTokens = true actual := []string{} @@ -819,7 +821,7 @@ CAT; TokenID(int(';')).String(), } - lexer := NewLexer([]byte(src)) + lexer := NewLexer([]byte(src), nil) lexer.WithHiddenTokens = true actual := []string{} @@ -892,7 +894,7 @@ CAT T_END_HEREDOC.String(), } - lexer := NewLexer([]byte(src)) + lexer := NewLexer([]byte(src), nil) lexer.WithHiddenTokens = true actual := []string{} @@ -931,7 +933,7 @@ CAT; TokenID(int(';')).String(), } - lexer := NewLexer([]byte(src)) + lexer := NewLexer([]byte(src), nil) lexer.WithHiddenTokens = true actual := []string{} @@ -962,7 +964,7 @@ func TestHereDocTokens73(t *testing.T) { T_VARIABLE.String(), } - lexer := NewLexer([]byte(src)) + lexer := NewLexer([]byte(src), nil) lexer.WithHiddenTokens = true actual := []string{} @@ -992,7 +994,7 @@ CAT;` TokenID(int(';')).String(), } - lexer := NewLexer([]byte(src)) + lexer := NewLexer([]byte(src), nil) lexer.PHPVersion = "7.2" lexer.WithHiddenTokens = true actual := []string{} @@ -1025,7 +1027,7 @@ func TestInlineHtmlNopTokens(t *testing.T) { T_INLINE_HTML.String(), } - lexer := NewLexer([]byte(src)) + lexer := NewLexer([]byte(src), nil) lexer.WithHiddenTokens = true actual := []string{} @@ -1060,7 +1062,7 @@ func TestStringTokensAfterVariable(t *testing.T) { "\"", } - lexer := NewLexer([]byte(src)) + lexer := NewLexer([]byte(src), nil) actual := []string{} actualTokens := []string{} @@ -1093,7 +1095,7 @@ func TestSlashAfterVariable(t *testing.T) { "3", } - lexer := NewLexer([]byte(src)) + lexer := NewLexer([]byte(src), nil) actual := []string{} actualTokens := []string{} @@ -1130,7 +1132,7 @@ func TestCommentEnd(t *testing.T) { }, } - lexer := NewLexer([]byte(src)) + lexer := NewLexer([]byte(src), nil) lexer.WithHiddenTokens = true lexer.Lex() @@ -1159,7 +1161,7 @@ func TestCommentNewLine(t *testing.T) { }, } - lexer := NewLexer([]byte(src)) + lexer := NewLexer([]byte(src), nil) lexer.WithHiddenTokens = true tkn := lexer.Lex() @@ -1188,7 +1190,7 @@ func TestCommentNewLine1(t *testing.T) { }, } - lexer := NewLexer([]byte(src)) + lexer := NewLexer([]byte(src), nil) lexer.WithHiddenTokens = true tkn := lexer.Lex() @@ -1217,7 +1219,7 @@ func TestCommentNewLine2(t *testing.T) { }, } - lexer := NewLexer([]byte(src)) + lexer := NewLexer([]byte(src), nil) lexer.WithHiddenTokens = true tkn := lexer.Lex() @@ -1247,7 +1249,7 @@ func TestCommentWithPhpEndTag(t *testing.T) { }, } - lexer := NewLexer([]byte(src)) + lexer := NewLexer([]byte(src), nil) lexer.WithHiddenTokens = true tkn := lexer.Lex() @@ -1277,7 +1279,7 @@ func TestInlineComment(t *testing.T) { }, } - lexer := NewLexer([]byte(src)) + lexer := NewLexer([]byte(src), nil) lexer.WithHiddenTokens = true tkn := lexer.Lex() @@ -1307,7 +1309,7 @@ func TestInlineComment2(t *testing.T) { }, } - lexer := NewLexer([]byte(src)) + lexer := NewLexer([]byte(src), nil) lexer.WithHiddenTokens = true lexer.Lex() @@ -1341,7 +1343,7 @@ func TestEmptyInlineComment(t *testing.T) { }, } - lexer := NewLexer([]byte(src)) + lexer := NewLexer([]byte(src), nil) lexer.WithHiddenTokens = true lexer.Lex() @@ -1371,7 +1373,7 @@ func TestEmptyInlineComment2(t *testing.T) { }, } - lexer := NewLexer([]byte(src)) + lexer := NewLexer([]byte(src), nil) lexer.WithHiddenTokens = true tkn := lexer.Lex() @@ -1385,7 +1387,7 @@ func TestMethodCallTokens(t *testing.T) { src := ` bar ( '' ) ;` - lexer := NewLexer([]byte(src)) + lexer := NewLexer([]byte(src), nil) lexer.WithHiddenTokens = true expected := []token.Token{ @@ -1467,7 +1469,7 @@ func TestYieldFromTokens(t *testing.T) { src := `